Skip to content

2014

Why EOMA68 will advance both free software and free hardware

If you’re not familiar with EOMA68, it’s an open electronic interface standard specifically designed to support the development of small computing devices built-up of free hardware and free software. It is mostly known for it’s involvement in the third attempt for creating the KDE-tablet, known as the Spark tablet and the Vivaldi tablet. In this project it was found that it is impossible to rely on the continuity of hardware specifications by Asian electronic vendors. If your goal is to develop a software stack, targeting changing hardware will consume most of the development resources, rendering the project useless. So it became clear that control of the hardware is very important in the fast-paced world of embedded and mobile computing. The EOMA68 standard is an important stepping stone in this regard, because it defines a strict interface between the processing board which includes the main component drivers and the board it is inserted into to provide all the necessary interfaces for the final use-case. This means that the processing boards can be produced at sufficient volumes to enable the desired control over the internal components and thus the free software support. The devices interfacing with the processing boards might be subject to electronic changes, but due to the EOMA68 abstraction, the impact on the software stack will at the very least exclude the basic working of the operating system.

So in this way EOMA68 enables the development of free software for this kind of hardware, but it also increases the ability to design free hardware. If a more free option for chips becomes available, the only step involved for freeing the end-user devices is to develop and build new processing boards. This is far easier of a task than incorporating all the interfaces (like screen drivers) and also the production count can be higher since it is more widely applicable. Also in the process of development the new processing board, it could be tested on the existing EOMA68 platforms without having to develop specific setups. For instance new processing boards can be beta-tested by swapping new cards around between people having EOMA68 compatible devices. Likewise new EOMA68 platforms can be developed and tested by comparing the performance between different processing platforms. So say a driver is functional on a general 64-bit architecture, the driver on the other architecture can be tested to produce the same results, all without creating specific setups for each hardware component.

Then in addition the standard brings the advantage of upgradeable hardware and even shared hardware to the table. The PCMCIA-based boards can be handled by consumers without risking ESD-issues and the interface allows repeated plugging and unplugging without deprecating the contacts. So if your laptop gets slower you just buy a new board for it. And by switching your boards around like a domino-game you can consequently upgrade your netbook, tablet, router or even your smartphone as well. You can leave the now spare processing board on the shelf as a back-up or buy an additional platform to fill another need. This type of upgrading reduces cost and e-waste. Another option would be to have true continuity by carrying a processing board and changing its interfaces depending on the need. You could even change to device with another screen type if you would like to work out in the sun or you could use the built-in connectors of the processing board to watch your holiday pictures at a friend’s place.

So how can you get on board with this? Well, there is a crowdfunding campaign about to launch in order to bootstrap this new paradigm. And just as this system enables, a new and more free processing board is already in development.

IEEE Open Source Software Task Force

Sometimes an open initiative just ‘clicks’, because it fills a growing need and does so in the right way. Great non-software examples I have come across in recent history are Wikipedia OpenStreetMap RepRap DIY Book Scanner WikiHouse OpenDesk and EOMA68. Just yesterday I experienced another such a ‘click’ initiative: the IEEE Task Force on Open Source Software for Power Systems. This initiative has a clear mission in encouraging free software adoption in this rather conservative field:

This Task Force explores the potential for open source software (OSS) in the Power Engineering Society (PES). The mission of the Task Force is twofold:

  1. diffuse the philosophy of OSS in the power systems community
  2. promote OSS for the benefit of the PES ranging all the way from simple pedagogical OSS to commercial-grade OSS.

— IEEE Open Source Software Task Force

Having a power system background, ever since I’ve become aware of free software I’ve wondered about why so little free software is being developed and used in the field of power systems. This concerns both software for calculations and simulations, but also operational systems like SCADA which could certainly benefit from having more eyes on the code. Also the calculation and simulation software is entering the operation domain now that the increased number of measurements and the available computation power allow for real-time grid analysis.

In any case power system software is becoming an ever more important part of the core business of power system development and management. Some vendor-independence and collaboration in development therefore seems to be important and sensible. Current practice however seems to indicate a low level of adoption by the industry, probably because free software has only recently come to the attention of the industry, and because of the lack of companies offering support. The latter has proven to work for the software industry, with Red Hat as a great example.

Two listed presentations at the panel sessions of 2009 because it shows the task force cares about software integration. An interchangeable data format was discussed which expands upon existing standards to better allow software programs to tie in with each other. Likewise GIS integration has been discussed, which is an important development in bridging the gap between the real-world and the simulation model, since the scope of a power system is greater than its individual components.

The software list published by the task force certainly lists some projects I’ll look further into. I certainly hope the efforts of this task force and the listed projects will contribute to a bright power system future.

The fun of free software

Despite running Linux for over 6 years now, I just recently converted my machine to Debian Testing. My initial reason for running Testing was to obtain newer versions of packages I value, like the GNOME desktop environment, the LaTeXila editor, and the Scilab simulation software. Therefore right out of the box it was very satisfying getting to experience the progress that had been made since the last Debian Stable release. However in Scilab I experienced the problem of graphs not displaying as they should. Of course I filed a bug report and by creating a workaround (writing svg images) I was able to continue business as usual. Now what I wasn’t expecting, is the level of excitement I got from having a bug that was bothering you finally solved. When I upgraded my packages today I found out that this specific bug has been fixed and even though it was a minor issue, it is amazing that all the people in patching the software and releasing it cared about my issues, and that so many other users will benefit from this patch as well. Not just seeing the larger updates but especially seeing the smaller improvements does shed a different light on software development in the free software community and I’d like to think it is very addictive, especially for the more technical users, to continually be supplied with small improvements.

Circumventing Google on mobile

Nowadays there are many ways to circumvent Google’s services for mobile, which is especially important to Android users who would like to take the next step in freeing their Android. There are other email providers, other PIM syncing services and other application distributors. However I would assume that sometimes a couple of non-free applications might be holding users back from freeing their Android, for instance because no free alternative is available or because their friends are tied in a non-free environment. Luckily the Linux Action Show made me aware of GooglePlayDownloader a project which enables the user to download .apk files from the Google Play Store whilst circumventing the logging and syncing required by Google. This is of course a cat and mouse game, with the associated projects reverse-engineering the API’s and store navigation to keep track of this moving target. With most software creators targeting just the Google Play Store for Android applications, this is a valuable addition to the set of tools that aid in freeing mobile users.

Scalability of higher laws

In his book Walden Henry David Thoreau writes about ‘higher laws’. Specific examples he state regard hunting and eating. Even though his statements intuitively seem truthful, the arguments don’t scale very well to modern society. Specifically he shares his view that in order for a personal to mentally ‘grow up’ he’d best practice the less higher practices (like hunting) and learn by experience that this practice isn’t ‘high’ enough. Taking this example, everybody should first make a lot of ‘mistakes’ in order to develop to a better self. However the society is built upon it’s social values and norms and on its technology. People can depart from the learnings of other people, even those who lived decades ago. In society the scientific method for example is regarded as normal and so is taking care of the environment. As for technology, people wouldn’t buy inefficient (although maybe powerful) cars now that fuel-efficient motors are available. The amount of ‘growing up’ for the more basic aspects of life isn’t what it used to be. Considering this growing up still seems possible and desirable, although it’s starting point is the current set of practices of society and technology.

A concrete life purpose

At TEDxMalibu Adam Leipzig gave a talk on defining your life purpose by way of referring to more solid aspects. If you have a sense of your life purpose but aren’t able to make it concrete, just consider clarifying the five aspects that make up your life purpose:

  1. Who are you?
  2. What do you do?
  3. Who do you do it for?
  4. What do those people want or need?
  5. How will they change as a result?

It’s just technology

Of course I also observed the live coverage of the recent Apple-event. But despite the various improvements to their product range and the addition of the watch, it simply wasn’t the magic I was hoping for. That evening it struck me that technology is only about the way of doing things, it’s a tool, it just helps. Melving Kranzberg already knew technology is neither good, nor bad, nor neutral, thereby making it subject to its use. Marketing technology as a life-changer the way Apple does therefore seems to be a bit naive. Sure, insights in your health will help grow awareness, and being given correctional tips will help maintain habits. But bottom line you can only change life by yourself. Without intention, technology will hardly be any good. You might as well achieve the same results without that technology, which might even be better since there wasn’t any technology-dependence. Taking this viewpoint, the world all of a sudden seems to make a lot of buzz about the way we do things. I found the bookbook commercial by Ikea interesting in this regard.

Educational economics

Thinking about the brave new world of free education based on freely available information and educational programs, it became clear to me that there is a specific kind of economics to education. The basic time-tested principle of education is the chronological process of starting a suitable education, passing a cycle of learning and testing, passing the final test, getting the degree and finally enjoying the benefits it gives, and in some cases a renewal process needs to be followed indefinitely. In practice this scheme is strongly effectuated by the public opinion which generally favors a degree over a loose education, and the fact that most educational programs are very structured and regulated by various authorities. To put it in economic terms, this scheme leads people from an educational mortgage to educational rental.

This scheme is contrary to how most people finance their houses, for which most people start out renting due to lack of money and needing the flexibility. If life has settled, a mortgage is a more logical step since it reduces unnecessary expanses on the long-term. So how about this principle of education? The bulk of the learning starts out as a mortgage, where a commitment is given to complete a certain educational program and only if you can deliver your promise the corresponding degree will be given, which holds the ultimate value like a house would. If you however fail to deliver, you would still have enjoyed the education (the living) but you would not end up owning the degree (the house). After obtaining a degree, an upkeep is needed to keep knowledge up-to-date and it might even be mandatory by way of taking regular tests or programs. So having gained the degree would leave you learning (paying rent) many times over.

Considering that we can only learn so much and that our time spent on education is rather limited, we have to either limit our educational commitments or rethink this paradigm. Let’s start with the first option: what if we would only learn what we really needed? That seems to be something which is contrary to our current process, since the young brain is fed a large amount of generic knowledge and since this knowledge predetermines the available options for work, the main decisions are already made in some regard. We could however ‘start with the end in mind’ and from the start focus our education in the direction we desire, and make it so that we prioritize depth over broadness, in order to reduce upkeep levels. This is again is contrary to current practice. In addition shifts in our preferences would have to be instantly translated into shifts in education.

This leads us to the second possibility of rethinking the paradigm. What if our culture would strongly value gained knowledge over gained degrees and would have people learning by doing in order to speed up the evaluation-cycle of preferences in work leading to desire for educational topics. This would imply a world of education concerning small incremental educational steps of complete topics which also cover the necessary additional information to understand the main information, rather than putting that information into a different course. It should be clear how certain topic relate to each other, in order to make thoughtful decisions on the next education steps.

This flexible way of educating would require a different student mindset, a different kind of study material and a different kind of degree valuation, but I’d like to think that with the aid of technology this is not only a possibility, but this will also become reality.

Putting your knowledge upstream

The concept of upstream commits is well known in the world of free software, since it is a very effective way of having others expand on your personal contributes, keeping it up-to-date and improving the quality. I propose to use this same principle on general knowledge as well. Consider just how many books and notebooks each of us have in order to keep track of our personally gained knowledge. In most cases this knowledge is very specific since it concerns our professional occupation, which is only one of many diverse occupations. This way of working is actually rather wasteful: information will be lost once the owners of certain information will dismiss it, information will only ever be available in those forms thereby making it hard for others to gather the same information, and the process of gaining information requires others to basically start from scratch.

Taking the generic part of your personal information and putting it upstream will help to solve this loop of waste and build a freely available set of information which can easily be improved upon. If nobody can add to it, it will remain static but if people can your information can be put into context and be improved upon. Taking this to a radial level would basically mean that sites like Wikipedia become your notepad. Of course this would require a different kind of note taking concerning proper phrasing and referencing. Also it wouldn’t be as easy to relate information to your other information as long as these ties are generally relevant as well. The only valid exception for this strategy I can think of it confidential information.