This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new Linux.com!

Linux.com

Feature: Commentary

Finding the happy medium in FOSS

By Thomas King on February 02, 2008 (2:00:00 PM)

Share    Print    Comments   

Last year, Dell began offering Ubuntu on non-corporate desktops and laptops, opening the door for other large computer companies to follow suit. With this offering came a lot of discussion over what Dell should include with each computer sold. In a recent iTWire article concerning Dell's inclusion of its re-worked Ubuntu 7.10 and LinDVD (a commercial Linux DVD player), comments ran the gamut from FOSS purity to legal questions to even questioning Dell's motives. Clearly the FOSS community is pulled in all directions trying to satisfy users. Is there any happy medium? Can the community balance the requests of purists and pragmatists and still release usable products?

Here are the four points, if you will, on which FOSS developers are pulled in different directions:

  • Free as in freedom.
  • Free as in beer.
  • Legal and ethical.
  • Usable and pragmatic.

The differences are more philosophical than nuts-and-bolts.

Free as in freedom

Richard M. Stallman back in the 1980s proclaimed that all software should be available to the common man, where anyone should be allowed to freely view the source code, learn from it, change it, and improve it. This was an answer to what he saw as commercialism overtaking what was once open academia. He laid out what he saw as the Four Freedoms that software should provide:

  • The freedom to run the program as you wish.
  • The freedom to study the program's source code and change it so the program does what you wish.
  • The freedom to distribute exact copies to others, when you wish.
  • The freedom to distribute copies of your modified versions to others, when you wish.
Since then, he "fathered" the GNU Public License (GPL), currently in its third version. In simplistic terms, source code released under the GPL is available to anyone at a nominal fee or a freely accessible location, and any derivatives must also be licensed under the GPL subject to the same terms.

These terms have caused companies interested in GPL code to balk at using it, claiming any derivatives would open their secrets to the world. However, there are plenty of examples of successful companies using open source code. Red Hat, for instance, says the following about using pure open source in their products:

All software is written with source code. With open source software, the code is protected by a special license that ensures everyone has access to that code. That means no one company can fully own it. Freedom means choice. Choice means power. That's why we believe open source is inevitable. It returns control to the customer. You can see the code, change it, learn from it. Bugs are more quickly found and fixed. And when customers don't like how one vendor is serving them, they can choose another without overhauling their infrastructure. No more technology lock-in. No more monopolies.

What does this mean for developers? What freedom exists in a license that demands that their work be freely available to anyone else? This was answered in a blog entry by numerodix initiated in part by the arguments between the GPL and the BSD camps:

Both license models make software free, but only GPL software is sustainably free. The BSD gives greater freedom, the GPL gives more freedom. Choose which one you value more.

I contend the cause of software freedom as it pertains to licensing is best answered by using the best tool for the job, and that is up to the software author and developer.

Free as in beer

Free as in beer software does not always provide developers a living. So how do they make money? By only selling support? Many programmers do not have the skills necessary to provide good support to end users. Their jargon and mannerisms are too different, and they are accustomed to mathematical logic. Throw in high emotion by end users and most geeks are lost. Others may not have the business sense to grow a successful business by themselves around this model. A few years ago, one anti-FOSS advocate, Daniel Wallace, even went so far as to sue the Free Software Foundation and others for endangering his livelihood. The case ended up being thrown out, but it brought about questions on how sustainable "free as in beer" can really be.

FOSS developers can make a living while still giving their code away. They may be able to work for a large company that pays developers to work on FOSS full time. This may not be practical, though, for those who want to work on their own projects. Many of these developers end up coding in their spare time, or are fortunate enough to work for a company that encourages them to work on their own projects during business hours. Other developers are indeed successful in selling support contracts and can even build up excellent businesses doing so. Some have even suggested using software bounties to include wanted features.

Since "necessity is the mother of invention," the FOSS community will continue to find ways to sustain its projects, developers, and users, and continue to be innovative and competitive. There are many choices, some of which require a change in priorities or process in order to keep from compromising one's ideals.

Legal and ethical

How does a developer become creative and innovative without stepping on toes? How can one learn from other programmers without eventually violating a law? Is it possible to be innovative and still be bound by legalities and ethical restraints? In the world's increasingly litigious society, it becomes more and more mandatory to keep one's p's and q's in order.

Many comments surrounding Dell's Ubuntu 7.10 release focused on the issue of libdvdcss, the "software library for accessing and unscrambling DVDs encrypted with the Content Scramble System (CSS)" offered in some distributions' repositories. Since its legality is still argued, LinDVD appeared to be the best answer for Dell to give their customers a better experience, yet it is seemingly in direct conflict with RMS and his camp's beliefs in utter software freedom. Distro managers must weigh their own risk versus their users' benefit when including proprietary codecs and drivers.

A recurring theme in kernel discussions is the idea of binary blobs and binary drivers being included with the Linux kernel, which is revolting to almost everyone involved. Distributing these drivers and blobs with Linux is thought to be illegal at worst and unethical at best. However, step above the kernel level and give users a chance to download their own binary drivers, and further divisions show up. Although free as in beer, these closed drivers are not free as in freedom and often raise the ethical rankles of developers since they cannot be maintained by the community at large. With these drivers, end users are at the mercy of the company that issues them to fix problems.

Consider the legal brouhaha when one Linux developer tried to change the BSD license on the madwifi driver to convert it to GPL. Once the legal issues were resolved, questions of ethics arose -- especially how ethical was it to suggest the BSD license allowed anyone to use BSD code and not return improvements on it. The letter of the BSD license could be followed, but the spirit of openness was violated and arguments ensued.

In addition to what is legal and ethical to include and distribute with GNU/Linux, developers must also deal with sabre-rattling by proprietary companies thinking they have their intellectual property (patents and/or copyrights) in FOSS projects. There are numerous examples: SCO and their dying litigation, OLPC being dragged into a lawsuit in Nigeria over keyboard design, and Microsoft generating FUD with its statement that FOSS violates 235 Microsoft patents. Though most of this is hot air, it still affects the way projects are run and the way developers must certify their work. Instead of focusing on simply being creative and collaborative, they must also be mindful of the legalities. Even a hint of a violation can bring harsh litigation.

Thankfully, developers are not without help -- witness the past year's GPL legal wranglings and the Software Freedom Law Center. Or take McAfee's statement that some of its software may contain GPL code, yet the company may not be abiding by the license agreement. Although McAfee now states this is "normal filing language," that fact may never have come to light without the GPL showing its legal strength.

Until all software is released under a set of compatible free licenses, developers will be hounded to ensure software is "legal and ethical," even if they are not prevented from making progress, and they do have help.

Usable and pragmatic

I consider myself more pragmatic than idealistic, and I'm always peeved when people are more concerned with form to the detriment of function. Make sure it works first, and then pretty it up!

In this respect, I see why distributions like Ubuntu are successful. They are attractive, but they have worked hard to continuously improve their functionality and usability. With a large influx of new users cutting their teeth on Ubuntu, GNU/Linux is becoming synonymous in some quarters with Ubuntu Linux!

The meat of the matter for software is this: human beings must be able to use it. Albert Einstein said, "Concern for man and his fate must always form the chief interest of all technical endeavors. Never forget this in the midst of your diagrams and equations."

This point may conflict with some of the others. Wholly following freedom means users may lose out on experiencing something on the Web or elsewhere. If users must make sure they use no closed source codecs or tools, they sometimes have to ignore what is practical in favor of what is idealistic. On the other hand, wholly following what is "usable and pragmatic" sometimes means ignoring your freedoms over whatever fits the bill. And ignoring "free as in beer" may undercut the community you want to use your software, but not paying a straight salary for programming may cause talented workers to bypass FOSS.

"Normal" users want their computers to just work, and this is pounded into the Linux community over and over again. Therefore, some suggest, developers should ease up on their idealistic ways and allow proprietary ideas, patents, licenses, and whatever compromise is needed in order to get warm seats using FOSS. This attitude would be enough to make RMS have a seizure and make FOSS veterans foam at the mouth!

Still, formats like Flash, MP3, and other codecs are in ubiquitous use on the Internet. "Normal" users want to surf to a Web site and watch, listen, or read whatever they want. So what if they lose some freedoms? So what if licensing a codec comes with a fee, as long as they don't pay it? So what if it's not legal or ethical to distribute these codecs?

There is little wonder that distributions such as Linux Mint and PCLinuxOS, which bundle proprietary software, are popular. However, in their pursuit of usability these distros come fairly close to with some of the points mentioned before. Ubuntu tries to walk that thin line in making it easy for users to install proprietary codecs and drivers, yet not actually roll them out with their distributions. Fedora makes sure everyone knows it is interested in freedom first but somewhat begrudgingly now gives its users an easy way to install add-on drivers and codecs. Other distributions strike their own balance in their own ways.

GNU/Linux is becoming more usable in its own right, but many users demand developers add usability and ignore other important tenets of FOSS -- yet the same developers have to appease FOSS veterans too.

So what is happy medium?

Can we reconcile these four points? Similar to the saying, "Cheap, fast, good -- pick any two," FOSS is in a constant struggle to balance these issues.

When I was in the Army, one of the exercises we used was called the Ranger Push up. Four soldiers would make a square, each soldier's feet on the upper-back of another soldier. All four would have to push up at the same time or they all would collapse. If one person failed to push up, the other three felt the pressure.

In much the same way, FOSS attempts to balance these four points. It makes for a mad collection of Catch-22s, perfect timing, critical mass, and compromise. FOSS is already a force to be reckoned with, and is perfectly usable in most situations. It is past making ripples and well on its way to making tsunamis in the software world. As it matures, can the FOSS community find the right balance?

Thomas King is a server technician for a large computer corporation. He has used computers for three decades, and is currently in the seventh year of his FOSS adventures.

Share    Print    Comments   

Comments

on Finding the happy medium in FOSS

Note: Comments are owned by the poster. We are not responsible for their content.

Finding the happy medium in FOSS

Posted by: Anonymous [ip: 70.124.61.211] on February 03, 2008 01:52 AM
Nice article, to the point in many areas.
Innit inconvenient, how 'normal users' can mess up the best ideals... :-)

Yes, the issue of "how to make a living" by turning good, idealistic concepts into cash is really something I am pondering on right now.

Thanks,

yamaplos

#

Finding the happy medium in FOSS

Posted by: Anonymous [ip: 65.73.247.30] on February 03, 2008 06:23 AM
Your article does a good job of pointing out the basic positions, but you've misunderstood the motives of at least one of the parties involved. The "Free" software fanatics have no interest whatsoever in finding a happy medium. They will crusade unfalteringly for their definition of "Freedom", at the expense of community, functionality, or interoperability.

Interestingly, in forgetting that code is created for the purpose of serving its users, and forcing their myopic interpretation of what "freedom" should be onto everyone who would use their code (via the GPLv3), they've begun using the same tactics of control as the proprietary software world. The only difference is they impose control over their supposedly "free" code for the promotion of an ideology, at least Microsoft is honest about it, and controls their software for profit.

The GPLv2 enforces no such control over usage, and is a truly free license. Fortunately, it's still a viable and popular license. There is no happy middle ground for the FSF and their more rabid supporters. Hopefully they will reach a point at which they remember the purpose of truly free code - to serve it's users, without imposed controls or restrictions on how it may be used. In the mean time, there is no one community - the designation is more accurately F/OSS. Two distinct communities separated by a chasm of idealistic narcissism vs. practical and honest freedom.

#

Re: Finding the happy medium in FOSS

Posted by: Anonymous [ip: 203.118.158.170] on February 03, 2008 09:57 AM
Somewhat harsh. The FSF and supported don't forget that code exists to serve it's users - that's the entire basis for their philosophy, that access to the code is a fundamental part of serving the users of the software. That's why the GPL requires only that code be provided to the (possibly paying) users - if they were as extreme as you suggest, surely they'd be demanding that all code be made available to all, effectively made public-domain?

Now, I do think they're overly idealistic about it - I write commercial software for a living, so I can hardly be too zealous about the matter. But if you're going to argue against their position, try not to mis-represent it in the process...

#

Finding the happy medium in FOSS

Posted by: Anonymous [ip: 77.99.171.94] on February 03, 2008 12:21 PM
@anonymous while thats what the letter of the gpl says in practice, the source is provided to everybody, look at centOS. And at the same time when projects contain propritry software, the FSF start moaning just look at the recetn BSD debate ( and that was all because BSD's package manager could install non-free software ).

I think there is a divide between the GPL legally and what the GPL represents, in my opinion something like centOS where you take money from of one of the biggest linux contributers, while legally right is not only shooting itself in the foot but also ethically questionable, as the GPL was made so that you can learn from the code of others, and improve that code, not just steal it. On the other hand stuff like Ubuntu and centOS do encourage people to take up linux and so help companies like RH. Does freeloading help or harm foss?

#

Finding the happy medium in FOSS

Posted by: Anonymous [ip: 65.73.247.30] on February 03, 2008 06:47 PM
Lots of misunderstanding here it seems. How do you "freeload" off of "free" code? As I said in my harsh post above, there is no one community. Now we've got the viewpoint of another in the mix, the anti-freeloaders. My fundamental point remains the same, is the code free, or isn't it? Do you as the author retain control over how the code is used? If so, the code isn't truly free. I understand the intentions of the FSF and their unquestioning minions, but the means do not justify the ends. It's either free, or it isn't. If it isn't, that's fine - I have no problem at all with the proprietary software model. Just don't pretend you support truly free software in order to promote your ideology.

#

Finding the happy medium in FOSS

Posted by: Anonymous [ip: 160.36.192.104] on February 03, 2008 06:48 PM
Taking the work of a bunch of disparate hackers and bundling it into a sellable operating system somehow strikes me as at best weird, and at worst contradictory to the very idea of what it means to be a hacker in the Stallmanian sense. As a Linux purist myself, I balk at the idea of the OS being a product sold in any capacity, but I understand that hackers must also make a living; personally as a computer science student I aspire to work in Linux post-graduation. The question I have after all the months I've spent in Linux is mostly a pragmatic one, and one that won't be answered easily: why are desktop Linux people treated as third-class citizens? (Mac users, from personal experience, are second-class; Windows users only get the best software support and drivers, it seems.) It's immaterial to me whether or not Linux is sold as a product -- it will be sold, and will be distributed freely as well. People exist to make money, goes one of my favourite sayings, and I find it growing truer and truer as the years wear on.

I'll say this: I'd pick up a copy of Linux off a store shelf before I'd ever even touch a copy of Windows or the Mac OS ever again. The only thing I genuinely regret is all the time I wasted in Windows and the Mac OS; with every day that passes, I wonder why I didn't switch to Linux sooner.

#

Finding the happy medium in FOSS

Posted by: Anonymous [ip: 65.73.247.30] on February 03, 2008 11:22 PM
Ahh, another community comes to the discussion - the desktop Linux crowd, vs. the server platform Linux crowd - welcome aboard. I believe I can provide at least a partial answer to your question. Desktop Linux doesn't get the software or driver support specifically (in part) because of the sentiment you put forward at the beginning of your post: Users are regarded as "Linux purists", and it's generally felt (in the business world) that we have a problem with paying for good software. People do have to feed the family, companies have to answer to their stockholders, and I don't believe this is a bad thing. People should be able to receive compensation for fair services or good products. But the money has to come from somewhere, be it proprietary code, paid support, or other. I share part of your sentiment, I'll pay for Linux any day (and do contribute to several projects I use regularly), but will never buy another copy of Windows. Particularly after having to support the grotesque abomination of an OS that is Vista on others machines.

So, how many separate communities have we identified now? idealist, realist, anti-freeloader, desktop user, server user, business user, the list goes on. As I said, there is no one community, so how are businesses or users en masse going to interact with us productively on a large scale? I've already put forth some thoughts, practicality, interoperability, cooperation. We've won the war, Linux is a viable option and the free software model works. Now we all need to remember what the whole point of open source, open standards, and free software was - productivity for the user (end user or developer). I worry that the FSF's enforced idealism is just as dangerous and unproductive as the greedy crack-dealer software model employed by Microsoft, and hope for a more productive middle ground.

#

Finding the happy medium in FOSS

Posted by: Anonymous [ip: 202.92.44.173] on February 03, 2008 11:56 PM
> "Normal" users want their computers to just work, and this is pounded into the Linux community over and over again.

PROTIP: Any general purpose computer program designed to be shared with the public __WILL be inadequate to somebody__.

This means that it is very likely that NOBODY will find a general purpose software system that will "just work out of the box". In order for it to work for the user, software should be changed to fit the requirements. If the user does not know how to do this, they should get help from someone who does.

#

Finding the happy medium in FOSS

Posted by: Anonymous [ip: 81.144.145.162] on February 04, 2008 09:40 AM
To the anonymous critic of Free software-
Without the ideology, without the GPL, do you really think there would be a usable Free and/or open source operating system today? I don't think so. We should constantly strive towards that ideological goal, otherwise human nature and the proprietary model will win. In an ideal world, the GPL would not be necessary, and indeed in the early days of computing it wasn't. This isn't an ideal world however.

I'd also like to point out that your use of the word 'zealot' is politically charged. By using it you are attempting to marginalise those who hold a position based (in my own case) on taking the argument to its logical conclusion. My point of view is equally as valid as yours.

that's not to say I'm not forced myself to make compromises. I use Ubuntu Studio most of the time, I find Gobuntu does 95% of what I ask from it, and when I next upgrade my hardware iIwill be doing so with an eye to making it Gobuntu friendlier. I also listen to MP3s and watch the odd DVD.

#

Finding the happy medium in FOSS

Posted by: Anonymous [ip: 209.30.171.221] on February 04, 2008 10:04 AM
The essential fallacy of this article is the disguised presumption that it is necessary to seek a middle ground at all. Just like any other assertion, that must be grounded in facts (or first principles if it's a moral argument) otherwise it's simply an argumentum ad temperantiam. I see no reason to compromise my idealistic position in favor of any of the other motivations you've put forth here. My simple answer to finding the middle ground is: let's not.

#

But then you have others...

Posted by: TK on February 04, 2008 03:25 PM
But then you have others that take the complete other end of that argument and say that software is there to fulfill a need, not answer an ideal (although one could argue answering an ideal is fulfilling their need, but that's another discussion altogether). What say you? ;)

#

Finding the happy medium in FOSS

Posted by: Anonymous [ip: 134.197.26.193] on February 04, 2008 05:35 PM
@TK:
Holy cow! Another reasonable person? Welcome aboard.

To the two readers addressing the "anonymous critic of Free software": You guys have misinterpreted my position. I'm not a critic of free software, I simply differ from you on our interpretation of the word "free". I believe truly free software doesn't have stipulations of control over it's use maintained by it's authors. This is why the GPLv2 is a free license, it's also why the GPLv3 isn't. Yes, I know, "to preserve the freedoms of the many . . . . blah, blah, blah" That's certainly your right as a code author, just don't pretend the code is free anymore. You're still controlling it's use and implementation through your choice of the GPLv3. When I use the term "zealot", it's to point out the narrow, self serving, and hypocritical version of "freedom" you've chosen to support. If you feel marginalized as a result, I have two suggestions. 1) listen to your conscience, and 2) understand (along with the "lets not [compromise]" commentator below you) that you are promoting a radical faction that has become more concerned with forcing their version of "freedom" on the world than with actually producing good, free code that serves it's users. I don't have a problem with that, you're welcome to choose whatever ideal floats your boat, just don't pretend that by removing freedom (and then equivocating about it), your supporting free software. The ends do not justify the means, and the GPLv3 is just another method of control. As I've said, this time the control is used to enforce your interpretation of "Freedom", instead of for profit. Again, I'm ok with whatever license you choose for your code, lets just be honest about fundamental principles - otherwise your "logical conclusion" is based on a lie.

#

Finding the happy medium in FOSS

Posted by: Anonymous [ip: 134.197.26.193] on February 04, 2008 05:45 PM
@TK: It would have been more appropriate of me to say "welcome back." as you're likely the author of the original article. In any case, regardless of whether we agree or not, I appreciate you're being intellectually honest enough to remain open about the subject. This is a very polarized issue, and such polarization ultimately harms any sense of "community" we may wish to foster. As I suggested in a previous post: practicality, interoperability, cooperation. These are three of the traits we'll need to foster in order to avoid the balkanization that occurred in Unixland.

#

Still in growing pains

Posted by: TK on February 04, 2008 07:15 PM
I am the author. One of the points I tried to get across is the FOSS growing pains it's going through right now. I personally don't think there will ever be a perfect happy medium but we can get close. In this utopia, all of the legalities, usability issues, Freedom, and free-ness will thrive all at once. I believe the framework is already in place.

I do disagree, however, that GPLv3 is anti-freedom. In one of the blogs linked in the article, that blog's author goes over the issues between the GPL and the BSD licenses, and comes to a very good conclusion. Extrapolate that reasoning to GPLv3 and the goal appears to be _sustainable_ freedom versus _absolute_ freedom. I try to wrap my mind around that necessary irony (needing control in order to sustain some modicum of freedom) and end up cross-eyed. ;)

Perhaps we disagree, then, on the degree of control required.
[Modified by: TK on February 04, 2008 08:23 PM]

#

Finding the happy medium in FOSS

Posted by: Anonymous [ip: 134.197.26.193] on February 04, 2008 07:36 PM
@TK: I believe you've hit the nail on the head. It is precisely a matter of degree. The GPLv2 imposes control on the code as well - that control is expressed as the forced return of changes in redistributed free code. This does serve to "enforce" as it were the freedom of the code, and as such isn't an onerous burden.

Where I personally fall away from the free software faith is when the GPLv3 and it's supporters start to dictate the terms of what is an "acceptable use" of their supposedly "free" code. The sustainable freedom vs. absolute freedom argument is a red herring. More meaningless equivocation to promote an agenda that - good intentions aside - is in the long run potentially as harmful as any proprietary software tactic used by Microsoft. The controversial changes in the GPLv3 only serve to enforce the "acceptable use" (as seen by it's hypocritical pushers) of the code. These changes do NOTHING to enforce or protect the "freedom" of the code itself, just dictate how it can be used by (and for) it's users. I worry that in their zealotry, RMS and friends have become the very thing they claim to oppose - another unjust source of control over software. Fortunately, the GPLv2 is still a viable option for those who value code that is actually free, and refuse to crown RMS (Gates, or Jobs, or Torvalds, or anyone else) as the final arbiter of right and wrong on the subject of acceptable software use.

#

This story has been archived. Comments can no longer be posted.



 
Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya