When comparing the evolution in market share of Linux and OpenBSD, two operating systems that were born around the same time, a question comes to mind: why is there such a difference in market penetration? Linux, on one side of the spectrum, with a license that supposedly impairs commercial venues, has enticed companies and organizations to adopt and support it under varying commercial models, while the BSD derivatives (FreeBSD, OpenBSD and NetBSD), with a larger history and an allegedly more commercial friendly license haven’t been as successful to gather a large installed base and widespread adoption.
Because there is no comercial interest in developing your code with a license that allows your competitors to grab your code, build something on top of it, publish a competig product and not release the changes that the competitor made. On GPL all competitors have to stay on the same leveled playing field once there is “redistribution” (on GPLv2… whatever it’s called on GPLv3) and so it is a certainty for all competitors that there will be competition… but at least no one will be “freeloading” on any other.
Exactly. And what I said (under a different name) back when others said OpenBeOS needed to use a more commercial-friendly license like BSD or MIT. Ten years on, Haiku is still not close to where Linux was back then — but not only for lack of corporate support, of course.
Apache, PostGreSQL, Sendmail all have MIT style licenses, and they’re pretty successful …
What’s different about a kernel and/or basic userland that the license becomes critical?
I’d be less inclined to call it licensing than I would cultural differences. The Linux community has always been more “hack friendly” than the more conservative BSDs. There’s also the stigma of the massive BSD lawsuit that more or less caused Linux to be created in the first place and prety much killed any momentum early BSD had.
OpenBSD being actively hostile to binary blobs most likely doesn’t help things either
Edited 2011-05-06 23:35 UTC
If OpenBSD weren’t actively hostile against blobs and other proprietary stuff I wouldn’t use it. Or maybe I’d still use it – lacking any really free alternative – because of it’s strong adherence to the original UNIX principles. OpenBSD developers care a lot about code quality and security, beyond the buzzwords of the moment.
OpenBSD is an OS by and for hackers of the movie-unfriendly variety. Nothing to do with Linux. That doesn’t mean I can’t watch Youtube, DVDs, play 3D games, connect to encrypted wireless, draw using a Wacom tablet or edit W*rd documents. Anything that can be supported using open source software is there or on its way as long as you buy the right hardware,and I for one, don’t want to be supporting the closed vendors.
A better comparison would be to FreeBSD which has the same attitude and target demographic as Linux and does get some commercial involvement – in most cases with patches going back upstream – but it just never catches up. License?
Development structure. FreeBSD’s always developed itself as one cohesive source tree with a relatively small group of people allowed to work on it as opposed to the half billion Linux based forks all going out in divergent directions all catering to different niche groups.
Which style is better is up to perspective, but you can’t deny the Linux world has a much deeper “genetic pool” to draw from, even if it does get slightly polluted at times.
Anyone is allowed to fork the BSD code at any time, this is the same for both Linux and BSD’s.
I don’t know why people seem to think that Linux is this happy.democratic dreamland where every man and his dogs has commit access. If Linux don’t want your stuff in the kernel it’s not getting there. This has happened many times before and it will happen again (and there’a nothing wrong with this).
Still, there is a huge difference in mentality. Very often, I have code seen shot down in the BSDs for reasons that could be summarized as ‘it is not perfect’, ‘it makes life miserable for VAX users’, and ‘it does not conform to the BSD/Unix mindset’.
The Linux community has embraced ‘perfect is the enemy of good’. While it doesn’t conform to a high standard of perfection, it is actually usable for the average person.
How often hasn’t Ubuntu been burned for not conforming to the UNIX philosophy, turning Linux in a Windows/OS X clone and whatnot? The fact is that it is probably the most popular desktop system outside Windows and OS X.
So? The linux camp has their own set of more or less arbitrary reasons for code not being accepted.
Right, and who did that burning? Why isn’t the Linux community more open and embracing of Ubuntu’s changes? I thought they were so open-minded…
“Right, and who did that burning?”
I sincerely love that! Open minded, open source linux community based on freedom burning Ubuntu and Canonical. And it really is only the linux community doing the burning! Is that what irony is?
First off, don’t get me wrong I like OpenBSD, but somehow I feel with all that security stuff they create a strange hype they can’t live up to.
First off their packages are often outdated. Oh and do they even care for secure transmission, like a signed list of MD5/whatever sums so one can verify to load the right ones?
They also had strange bugs, like a wrong implementation of the C floor function in their standard lib on some hardware.
They also advertise/hype stuff that’s common practice in many open source projects anyway. Like code reviews or considering missing or wrong documentation as a bug. Not bad, but sounds like hype which they pretend to not do.
There are also other things that just sound more secure, like using blowfish instead of a random one-way function for password encryption.
I think OpenBSD has lots of great stuff to offer. They support lots of interesting hardware, where there aren’t any other open alternatives, but Linux. HPPA for example. Gentoo and Debian work there aswell, but both have tons of bugs.
Encrypted swap by default certainly is a nice feature, while counting just security holes in a default installation sounds more like hype than security.
Also I wonder about the fact that they always ask for donation, especially because everyone uses OpenSSH (damn awesome software!), but don’t participate in Google’s Summer of Code.
What I want to say with that is that they are nice and reasonable. I really like the fact that they are so conservative, but to me it also looks like it is their biggest problem blocking progress. I don’t see OpenBSD in any danger, because there is a very loyal community, but I’d like to see more new stuff. Since they are a lot into security it would be cool to see some new things happen in that area. For example ways to deal with the insecurity of the C programming language. I think they’d be able to create lots of problems to deal with that problem, but lately they seem more interested in removing GPL code.
Frankly, that might be the case for some projects but it is far from usual. I recommend De Raadt’s speech on the release process. Compare with Xorg. Not the fixed version in your OS but the real thing.
My guess? They don’t want to deal with people feeling entitled to commit their cool stuff on one hand, and students that still have many things to learn bothering them on the other.
The OpenBSD developer team is built on trust. They expect one to make many minor contributions, do boring testing, etc before being allowed to play with a new malloc.
Other projects would just review the contributed source and commit.
This attitude probably throws away perfectly good code but consider the following:
“My code is secure” – Anonymous Coward.
“My code is secure” – Someone who you know has picked up and fixed many bugs in the past.
BTW, trust is there “in addition to” code reviews, not “instead of”.
ACLs, jails, package signing will be there the day someone willing to do the hard work and make them acceptable to the existing devs. In OpenBSD, “stupid” is a synonym for “No one has been willing to do it right”.
The “insecurity” of the C language has been dealt with as far as they are concerned. They are more worried about higher level bugs such as juggling with permissions, trusting user input, race conditions, algorithm holes, etc. Haskell, Java or C, it doesn’t matter if something is logically wrong.
It’s not like they have to commit it if they don’t want to, but I don’t see a real reason for not participating at all. I mean yeah, I know the OpenBSD community and stances well enough to know that they don’t want to do this, but they are able to review it and if there is any doubt they can throw it away. They are doing code audits anyway, so why not accept some additional code and money? Maybe they could get some new commuters.
Also I think most people wishing to take part in GSOC programming for the OpenBSD would know who they are dealing with and what is expected. Also there are certainly projects where people wouldn’t be able to cause too much harm.
They could state all this together with their avialable projects.
Where do you get the idea that OpenBSD does not accept code from people outside the developers?
Several of the developers work for companies that use OpenBSD in their products and contribute code and, from the other side of the fence, there are people like me who have contributed code and had it accepted.
My case was one of the classic OpenBSD cases: “If you have an itch, scratch it”. Or, in other words, “Shut up and hack!”
I wanted extra functionality in a key component in the OS so I wrote the added code and generated diffs and submitted them and they were accepted overnight and committed with Theo’s OK.
I used to be an IBM Linux instructor and got tired of all the crap man pages, the lousy “How-to” meme and the “market share is a measure of quality” ethos.
It is puzzling to me to see people who couldn’t read source code to save their lives carrying on about how good the GPL is and, whilst I was building secure firewalls for major players in the financial sector using OpenBSD, some Linux distros had hackable keys due to a slack coder in one well known organisation.
I see people in this discussion rubbishing OpenBSD’s attitude to blobs. The same people who want code to comply with the GPL.
So, they are prepared to put up with junk code from hardware suppliers? No source for the blobs so that you can still have drivers when the OS updates and the OEMs don’t?
They can live with their faulty RAID controllers that the maker can’t fix but a really good coder could?
Strange people..
Tell that to Juniper, IronPort etc etc.
Your argument is a fallacy. Since you are not required to release your derivative work under an OSS license YOU decide if you want to “risk” your competitors getting their hands on it. If you dont want to, nothing is forcing you.
As opposed to the GPL where you are REQUIRED to release your derivative work under the GPL.
Not to mention that little thing called OS X. I’ve heard it’s doing pretty well…
More in general, I would say that the premise of the article is wrong: since Linux has more market share (really?) and definitely more buzz around it, then it must be because of the different license and not, say, for a lot of other reasons that have been mentioned here.
And, since we’re talking about market share, then surely Windows must have an even better license? 😉
RT.
But isn’t that the point the author tried to make, that since companies don’t have to contribute their enhancements back they simply don’t and instead keep them as a competitive edge? Are Juniper Networks, Cisco contributing their code back to Freebsd (it uses that right?), are they hiring full time Freebsd developers to work on the main Freebsd project?
By comparison, Linux is pretty much entirely developed by people who’m companies have hired to work fulltime on the kernel, which is certainly atleast part of the reason that it develops at such a high pace.
Again, I say that I think GPL makes better sense for companies to do cooperative development under, particularly in competitive areas such as this. They can share the burden of development with everyone being legally obliged to submit their enhancements.
So in my opinion, BSD-style licenced code is what companies prefer to use, GPL licenced code is what they prefer to contribute to.
>Are Juniper Networks, Cisco contributing their code back to Freebsd (it uses that right?), are they hiring full time Freebsd developers to work on the main Freebsd project?
Yes! Did this answer your questions? There is less to none hype arround BSD so you have to read mailinglist or speak to FreeBSD devs to get such answers. But hey, it’s that easy: just ask instead of making up folklore.
Do you really want to know what’s hurting the BSD’s? It’s this silly folklore, the hype arround some bubbles of hot air called Linux.
The author maybe but not the OP I responded to.
Linux: I want to be a general-purpose OS for all kind of users.
OpenBSD: I want to be a OS for security paranoids.
Edited 2011-05-06 23:32 UTC
OpenBSD being used in a Fortune 500 company.
http://www.undeadly.org/cgi?action=article&sid=20110420080633
And Linux is used in most Fortune 500 companies. What’s your point?
He was saying that it is only used for Security Nuts. The same people would probably only claim that OpenBSD is only good for servers and firewalls.
I gave a case study where it is being used by people who aren’t hardcore UNIX security nuts and being used everywhere i.e. in a Fortune 500 company.
Therefore the point was … wait for it mate … that what he claimed simply isn’t the case.
Edited 2011-05-08 14:29 UTC
Ahhh…. Yeah…. The biggest security nuts I’ve ever seen in my life are heads of security in those Fortune 500 companies 😀
The point was that there is a common perception that OpenBSD is good for a small group of people, which isn’t true …
OpenBSD is phenomenal at operating system security. Unfortunately, the current attack vectors leave that largely irrelevant. SQL injection, cross-site scripting, even unpatched Apache are what gets hit today, no local sendmail exploits.
Having a permissive license hasn’t hurt development or adoption of Apache, or other projects with an MIT-style license.
I think a bigger factor was the lawsuit between USL and BSDi. Questions on the legality and future of BSD/386 had a chilling effect on potential contributors.
Meanwhile, Linus Torvalds comes along with a UNIX-like OS with no ties to AT&T or USL, freeing it from any legal questions. Also, Linux’s development was community-driven from the get-go, while BSD’s was not.
I think the license was only a small factor. While many make the argument that Linux is successful because of the GPL, I think the GPL is successful because of Linux.
The USL vs Berkeley lawsuit was settled in 1994, 17 years ago. Certainly the legal cloud had an impact at the beginning, but it can’t be blamed anymore.
I think that there’s a good argument that the GPL helped rather than hurt, but it’s also true that other projects with more permissive licenses have been successful. The cultural differences and leadership of the projects also made a big difference; Linus welcomed contributors, gave them real power, and set a blistering development pace (the rate of change is amazing), while the leaders of the various BSDs were far more exclusive and hard to work with.
It is challenging to get into the big three BSD projects, especially FreeBSD. There is a steep mentoring period and it ends up making their average committer’s age much higher. They attract mature developers instead of college students. The downside to that is that there are much less people interested in contributing as the bar is higher to start.
I think Google’s Summer of Code program has helped interest in several BSD projects over the last few years. DragonFly and FreeBSD have gained developers from it.
The real difference is that linux is quite commercial these days. Many of the developers work for a large company and get paid to work on Linux part of the time. That makes a big difference in what gets done and how quickly. It also balances out the immature developers from college that also work on linux. People talk about the GPL but at the end of the day the IBM, Novell (who knows with attachmate), Intel and Ciscos of the world fund Linux development.
I can tell you it’s quite hard to attract new developers to my project. It was much easier when I was in college and had a lot of time to contribute as well as many contacts with free time.
Another hurdle is that people can just do things on linux that aren’t possible on other operating systems like use flash, java, etc. Sure there are ports to some of the BSDs but they are buggy or outdated. Eventually you hit people who want to get real work done and it’s hard to get them to run your OS that’s designed for servers. There is movement in this area in the BSD world. PC-BSD has started to attract interest in desktop development and my project is specifically about making BSD desktop ready.
I don’t think it has anything to do with the license. Most people I’ve met don’t care that much.
Why not?
People are naturally going to develop for the platform that already has the most support. The early adoption to Linux meant that it gained critical mass quicker so naturally corporations and developers would more likely be drawn to Linux over the lesser supported BSD.
This is still true. You can have a fully functional FreeBSD desktop however when things go wrong there’s less sources for help. So most people who want an open source desktop turn to Linux due to the significantly larger number of support forums, mailing lists, and developers on hand.
License has nothing to do with it. Besides the kernel, everything in the UNIX world is using a mesh of GPLv2, GPLv3, LGPL, MIT, BSD licenses. Look at the question from this point of view instead: if you were to word the market penetration question in a manner that compared Linux distributions, the question would be: “Why are some Linux distributions more popular than others despite the license being the same?” First impressions for Windows users count a LOT. It has to do with ease of use, the ease with which one can get to a pretty compiz-enabled desktop.
Imagine being a teenager these days; you have never used a computer with a CRT, every peripheral you have ever seen is USB (and plug and play), you have never had to use a command line, and all you know about an OS is the GUI. You want to try a free OS, and your choices are Ubuntu, Fedora, or one of the BSD’s. Which one is going to look sleek and modern, and handhold you through the entire install process? Which one is going to look cryptic like that DOS thing your dad told you that he used waayy back before you were born? And if you can get past the culture shock of making it through the text-based BSD installers, you *still* don’t know how to set up a GUI. Guess what, those kids are going to college soon. They are tomorrow’s netadmins and developers.
When I was that age in the 90’s, the Linux distributions were on par with the BSDs in terms of ease of use. Of course, I knew what partitions were already, I wasn’t entirely frightened at a command prompt, and I knew IRQs and other stuff that the A+ exams don’t even require anymore. Not saying we were smarter, but that was required learning if you were going to tinker with your computer. Today, not so much. When the initial barrier was equivalent, the BSD’s had a speed advantage (negated with 2.6 kernels), a documentation advantage (negated with newbie-friendly forums), and a ports system that surpassed anything in the Linux world.
The *BSD’s never became newbie friendly like Linux did. sysinstall is mostly unchanged after a decade. Those distributions that get the user to the desktop quickly and painlessly are the ones that people grow accustomed to using through their college years and as they enter the workforce. They are also the top ranked distributions in terms of use according to most metrics.
License has nothing to do with it.
The entirety of the linked article seems to be centered on the premise that Linux has a larger install base than the BSD’s or some such myth. The BSD’s are probably more commercially successful than Linux, especially in the high-end, NetApp, Juniper, IronPort, F5, Citrix and many more have distributed BSD-derived products widely and with great success, this fact just is not seen in the news, because of the BSD licenses corporate-friendly nature.
I don’t think it’s the license. I think advertising has something to do with it. Remember Windows 95? I also think it’s the number of developers and the amount of time dedicated to development. You have Canonical throwing money at everything. Then you have Red Hat with their “Enterprise Solutions”. Linux is very experimental. ANYBODY can do ANYTHING with it. You don’t like the direction one person wants to go, you go in your own direction. And, if you just want stable, you can get that, too. The BSDs… I see a lot of “waiting for permission”. I can try and make the comparison as a democratic society to a dictatorship. Where linux would be the democracy and the BSD has the dictator who has the last say and control of everything. Don’t get me wrong here, though. I prefer using the BSDs over linux (if it wasn’t for that damn Adobe flash), but I think it’s the way development happens that has allowed linux to gain a greater market share.
Linux is not a democracy. Linux has the ultimate say on what goes in the official kernel or not.
Linux isn’t just the kernel. glibc has different development team than the kernel has. And some distribution started using eglibc.
coreutils have once again, a different bunch of developers.
The worst thing is, the distributions themself make very little changes to the code. e.g. they don’t delete code they don’t need.
There is no one who has a final say on things. You could argue that would be the package maintainers. But they tend to be really bad at understanding/reading/writing the code.
Right, linux IS just the kernel. Then that makes this entire article and debate pointless and stupid, since the author tried comparing two “operating systems”. Then again, linux and the BSD kernels are all open source. The “official” kernel doesn’t have to be used, and Debian is proving you can have a GNU userland with a BSD kernel. So then I’m brought back in a full circle to say it’s not the license. It’s advertising and exposure.
The question was raised 5 years ago and David Wheeler gave a really good answer that made me rethink the BSD/GPL license problem:
http://www.dwheeler.com/blog/2006/09/01/#gpl-bsd
Edited 2011-05-07 08:49 UTC
403 forbidden
The difference in market share between Linux and OpenBSD isn’t a license issue, it’s a focus issue. Linux distributions are aimed at a wide range of tasks from sering up web pages, being an easy to use desktop, to embedded devices. Chances are if there is a niche, a Linux developer will try to fill it. OpenBSD has a much tighter focus: creating secure code. OpenBSD doesn’t try to be friendly or fast or do anything really except be a secure UNIX OS. Since most of the BSD and Linux projects out there are already relatively secure, OpenBSD only appeals to people who are above and beyond the normal paranoid level.
Wow, the uninformed nonsense just keeps coming. In this tradition I’d like to contribute that Linux is only for anti-social sadsacks living in their parents basement and who could really do well to shave their unruly beards and take a shower.
It’t not about popularity or “widespread adoption”, but about QUALITY.
Just take some tests and compare WiFi drivers …
I posed this on OS News more than half a decade ago in another article Thom posted: http://www.osnews.com/permalink?86571
————-
The fact is there is a reason why Linux is so more popular than the BSD’s.
Its the license stupid[to borrow a popular political phrase]. The simple fact is that more developers like the GPL and the way the GPL works compared to the BSD license for their work.
The GPL simply attracts more people to be willing to give their time,money and sweat to the community than the BSD, which many open source developers consider a “license-to-steal”.
If the BSD was so great then it would attract more developer support than GPL projects, but it doesn’t and as a open source developer I know exactly why because thats exactly how I feel about it.
The proof is in the numbers, some people (who want to make money off of others work) may not like it but they are going to have to get over it or hit the road and go write their own software.
Linux is so popluar and has such a large community BECAUSE of the GPL, without it then SOooo many things would have never been implemented or contributed by other people and companies and it would never have had as large a community as it does today. BSD licenses are more attractive to lazy commerical programmers [ who want to use other peoples effort in their own commercial software, but much less attractive to actual open source programmers working on community oriented projects.]
It really IS as simple as that.
————-
All these years later, the proof is STILL in the results, the GPL is far more motivating for people to contribute and be more willing to share their time, sweat and efforts than the BSD is.
As a contributer to open source I know myself I feel much more comfortable contributing to GPL based projects than BSD based projects. The GPL makes me feel better about my contribution. And that is what it comes down to, that is why there are more people willing to contribute, and that is why Linux has such a larger community than BSD.
Edited 2011-05-09 14:34 UTC