Last week, the Embedded.com newsletter invited readers to comment on the cause of all the recent emotion within the open source movement. In doing so, we noted that we didn't want to hear opinions about the SCO Group, Inc. Those are already too plentiful. Rather, we wanted to know why programmers feel so strongly about open source itself.
The responses were universally intelligent and thoughtful. One recurring theme of the responses was that programmers want freedom " freedom of access and freedom to customize the code to their own liking.
As we expected, however, freedom isn't the only issue. Those issues ran the gamut, and you can read a few of them below. Thanks to all readers who wrote to us.
Boston had the Boston Commons. A place where every man could graze his livestock without charge. If a tax collector was foolish enough to try to collect a fee for using the "common area" a general call could go out to "assemble at the commons and bring your squirrel gun."
Open source is the common area. It is the "common code" that we all need to graze our livestock in. We don't need to pay a tax or a tariff to anyone to use it. We all pitch in to greater or lesser degrees to maintain it. We
all recognize it is for the common good. We need our common areas, our "common code." It is as fundamental to our survival as the common air, the common water, the common roads we all use. And sometimes the common areas need to be defended. Sometimes with squirrel guns.
When I describe the three arenas of desktop computing to casual/lowtech computer users, I tell them this:
Windows is about money (i.e., marketed to business-centric attitudes, and every move Microsoft makes is about making more money long term or short term).
Macintosh is about art (i.e., marketed to creative types. I've joked that no real artist uses windows, and style and design and image and forging new ground in both UI and hardware and industrial design is a vital and fundamental part of Apple).
Linux/Opensource is about passion (i.e., everything happens because people are creating something just for the love of doing it and seeing it exist).
Broad generalizations but fundamentally correct I think.
What is important to me is wanting more eyes to review my work. I would like to be able to use tested and reviewed code to start new projects and am willing to expose my own work in exchange for that resource.
For me, largely, the reason why I am passionate about open source is the idea if it being an underdog. It is significantly underfunded relative to Microsoft's offerings yet it maintains a large marketshare. It is not successful just due to its lower cost but rather because of its robustness. It is cheap and damn good.
I think there are a couple of factors:
Open Source hits at what some people and companies believe is their livelihood. This has the same emotional impact as off-sourcing.
Open Source taps into the frustration users have with proprietary software, and licensing schemes. As an engineer, I believe, rightly or wrongly, that the greatest impediment to the success of my projects is the ability to see what is going on. If I can see it, I can understand it, and even fix it if needed, but with proprietary software I'm helpless.
(I've found that generally there isn't enough money to be made in embedded tools and software, and hence the quality and support is poor.)
Open Source is a political issue. I suspect liberals like it and conservatives don't.
Engineers and factory workers and most of us do real work. We make our living by creating wealth. SCO and the kind of lawyers they are using are just trying to transfer wealth to themselves without creating any new wealth. I personally tire of all these disputes and IP surprises and
wrangling. That is enough for now. I've got work to do.
Technical people also want choice. I do embedded systems programming, in C and assembly, on about eight different microcontrollers. If I am looking for a compiler for a chip, I don't want some marketing guy in Sweden or USA
trying to tell me how I want to work fancy IDEs can be fine for some uses,but if I can't use their compiler effectively with my own favourite editor, make files, version control system, etc., then I won't be buying their
compiler (fortunately most embedded tool vendors understand this). Open source software is invariably designed to do a single job and do it well, rather than trying to do everything a new way. It lets me mix and match tools to suit the job.