Why OpenSolaris Failed To Build a Community
xtaski writes "Ted Ts'o, one of the earliest Linux developers, points out some serious flaws in OpenSolaris. There is a severe lack of developers, for one. Apparently, after 3 years, the OpenSolaris 'developer community' is still struggling to get the proper tools for developers to develop! Ted also points out some other flaws which make it clear just how disconnected the executives at Sun are from what's really going on in their 'open source communities.' He notes, 'It was never ... Sun's intention to try to promote a kernel engineering community, or at least, it was certainly not a high priority for them to do so.'"
http://tytso.livejournal.com/
The answer is: "They acted like a bunch of dicks."
OSS is a labor of love. You've got to want to work on the project, and you've got to be able to work on the project.
If you put a big chunk of your time into something and get rudely dismissed, then its hardly likely that you'll continue to contribute.
ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
I think Sun underestimated the importance of casual users. A lot of times the people choosing an OS for a project (be it enterprise deployment, inclusion with hardware, or just use within IT) go with what they are familiar with and also what their current interests are. When Sun open sourced Solaris, there was a lot of interest from the Linux and BSD communities. A lot of those people decided to download a copy and give it a try. The difficulty these casual users had in grabbing an installable copy and getting it running easily were significant. A lot of people just said, "meh" and moved on. The last time I grabbed a developer preview I still had to fill out a bunch of forms with my personal data then deal with Sun's "download manager" and then spend significant time getting it to install, even within a VM customized to run OpenSolaris in particular. That is still better than it used to be. I only have a success rate of about 50% in getting Solaris to install to date.
For most people I think it is just too much of a hassle and all the developer momentum is on Linux. I guess when Sun thinks about open sourcing Solaris, they see it as a way to try to stop their hardware customers from moving away from Sun, which is fine, but does little to leverage the real benefits of an OSS community such as Linux has been doing for a long time.
You have to have a good product before you can have a community. Linux built its early community based on tinkerers and hackers who found it easy to play with. Early Linux distributions, you may recall, were all inclined to integrate well with DOS. Some of them could even be installed _in_ DOS. You could install Slackware and be up and running with an editor and compiler in half an hour. OpenSolaris doesn't follow this example. Using it is a tremendous pain in the ass. Its installer runs for 2-4 hours on the midrange PCs I've tried to install it upon. Once it's "installed" you still have to grope around trying to find familiar tools, which are maybe under UCB or perhaps under GNU subdirectories. It's hard to download software from the 'net and ./configure it. Hardware support is very thin.
To get a hacker community, you have to offer fun. OpenSolaris is simply not fun. It reminds me of work.
Another issue with opensolaris for me was the installation. Being a fairly experienced *nix user, years of sunos, aix, linux, bsd, etc.. under my belt and a fairly competent programmer. I tried quite a few times to install OpenSolaris and there was always some major problem. I never did get a stable system working and finally gave up. That said, this all comes as no surprise to me whatsoever.
"Computers are a lot like Air Conditioners" "They both work great until you start opening Windows"
How are the GNU distros built on the opensolaris kernel though? I'm thinking of Nexenta specifically. Seems like it would be the best of both worlds if done right. World class UNIX kernel + world class userland utils. But then if it's just thrown together, it could suck too.
Give me Classic Slashdot or give me death!
Linux had a community. It was the Minux community that was starting to had problems with patches. Since the base code had a bad copyright, and thus could not be freely transmitted. And patching patches or still more patches just got out of hand. The GPL that Linux used ended all that and allowed Linux to take off.
The OpenSolaris development community is alive and well, vibrant and resourcefull.
There have been a lot of great development work on OpenSolaris in both the x86/x64 and SPARC worlds.
OpenSolaris (much like it's big brother Solaris) does have a list of valid / tested hardware platforms that work out of the box without issue.
If your specific hardware isn't listed and it's fairly well mainstream, document what didn't work, submit it, and it will more than likely get fixed.
I've used OpenSolaris on IBM/Lenovo thinkpads, IBM xServer hardware, SuperMicro / Intel hardware, homebrew systems with rarely an issue.
I've enjoyed the support of the OpenSolaris community as a whole, and found them to be as resourceful as any *inux / bsd community.
It all depends on what you like / want.
For me, gaining the ability to work with Solaris during development cycles to help in some small way guide / assist with the efforts is worthwhile.
Who is general failure, and why is he reading my hard drive?
Yes, because Linux was such an instant success! Wait...no, it wasn't. Everyone forgets that any community, either real or virtual, takes time to build. I believe that counting OpenSolaris as a failed community is premature, at the least.
Oh, for the days when sig's didn't have to be cute...hey, wait a sec.
Licensing Solaris under the GPL might give it a chance and now is the time. Due to the GPL 2 vs 3 debate it has a good opportunity of becoming the second Gnu kernel.
Actually, no.
The lesson here is: If you're going to try to court people active in OSS development, then you're going to have to be nice to them, and you're going to have to let them take some ownership.
IBM is being smart; they're reaping rewards far in excess of their investment. Effectively they've outsourced their development, and while the terms of the "outsourcing" say that they have to share everything that comes out of the project, they're still in a position to steer, and support the product.
I'm not sure how you equate that with "control"; sounds just like more FUD to me.
ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
OpenSolaris was an attempt by Sun to throw some sand in the gears of Linux, not to build an open source project. They are doing the same thing with OpenJava.
I mean, who is going to contribute to such a project if (1) Sun engineers keep calling the shots, and (2) anything you contribute needs to be given to Sun so that they can sell it to paying customers?
If Sun were serious about making Solaris and Java open source projects, they'd release them under a single, open source license only. That would probably have to be BSD.
And why not? Solaris was BSD licensed to begin with; it was Sun that made it proprietary.
The disconnection between Sun's executives and the kernel developers might be one reason why OpenSolaris is failing to build a community, but I believe a much larger reason is the lack of any substantial need for OpenSolaris in the market at this point. Currently there is so much development around Linux and the BSDs that these projects fulfill most of the users' needs and offer people looking for an OS something quite compelling, with a developer community in the millions of knowledgeable people. OpenSolaris is first and foremost suffering the chicken-and-egg problem that since there isn't much of a developer community, nobody wants to join, and secondly, since Linux and the BSDs can carry out nearly all the functions that OpenSolaris carries out, there's no compelling need for developers to join that community. Let's face it, Sun should concentrate their efforts on improving Linux and selling distributions and support for their custom distribution. Part of this improvement would entail porting the few advantageous features that Solaris has over Linux currently. OpenSolaris would eventually be phased out completely. Otherwise, they are simply throwing good money after bad.
McCain/Palin '08. Now THAT's hope and change!
Downloading is a royal PITA. The registration is usually a deal-breaker. Almost nothing I've ever run across that's worth anything requires registration for download. However, as a (former) long-time Solaris / SunOS user and major FOSS user, I felt compelled several times to try to circumvent that. But then there's no real way do a network install and othewise week download choice.
That gripe aside, the article is a bit premature. Though time is running out and it could become true if Sun decides to keep downloads off of anonymous FTP, AFS and Bittorrent.
Beta is broken and the link to classic doesn't work. Stop wasting our time or there won't be anybody left here.
Any AHCI-based SATA controller will work. Marvell-based SATA controllers (models 88SX5081, 88SX5080, 88SX5040, 88SX5041, 88SX6081, and 88SX6041), nvidia nforce sata, silicon image 3124. AHCI and Marvell are good choices. There's also a ton of SAS support (e.g. LSI, Adaptec).
We ran Solaris boxes at the government agency I worked for and it was easy as heck to just replace Solaris with RedHat. OpenSolaris = one more free *nix initiative in a world with too many free *nix initiatives as it is.
I guess I disagree. I'm on several of the opensolaris mailing lists, and they're ALWAYS busy. And not just with people from Sun, people from all walks of life. To claim that opensolaris has failed is preposterous to me. I guess I don't quite understand what this mans idea of *success* is, but apparently having users and contributers from both sun and the public abroad isn't *success*.
Is his complaint that the majority of code comes directly from Sun? If so... let me just say *DUH*. If you have thousands of PAID programmers writing code, nobody is going to waste their free time re-writing from scratch. On the flip side, there's TONS of public side-projects, I can think of several around zfs like the automatic snapshots. Or maybe that little side project called nexenta.
I think I understand what his issue is... he doesn't even know what the opensolaris community is. By his definition, one distribution of linux is a measure if its success or failure. Last I checked, when we talk about linux, we're encompassing ubuntu, redhat, suse, slackware, etc, etc, etc... Guess what, the same holds true for Opensolaris.
So... basically, it sounds like a linux zealot casting a stone because he's most likely upset that Sun wont' release solaris under the GPL so that linux devs can start ripping code.
Nexenta works fantastically - I love it. I would definitely use it for any storage servers, or high availability servers that do your normal Apache/SQL/P* stack.
:)
However, for desktop and non-standard services, it still sucks. If it's not a web server, and it's not a storage server, don't use Nexenta, use Ubuntu Server. Or Debian if you know what you're doing
So where does OpenSolaris fit in? It seems to be an OS lacking a niche.
My blog
Too Little, Too Late.
There is no need for it now. Linux had already supplanted Solaris
Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
Give it some time - it's still growing, and while there are some adjustments to be made, the situation is far from catastrophic for its stage of development. After all, there's a number of people contributing to it, and hopefully as processes and community contacts improve, the contributors will increase in number. You have to take into consideration that it's a huge chunk of code and some people are still just lurking to find their place under the sun (no pun intended).
OpenSolaris is an interesting operating system, I don't doubt it'll grow in popularity among developers, however slowly. As I said, give it some time, we have only just begun.
"The agriculture ministry is not in charge of Gundam" - Japanese ministry official.
Sun has an OpenSolaris?
This is news?
You know, when Sun started shipping opteron hardware, the sparc stuff didn't vanish into thin air. It's still very much alive and well.
BTW, what white-box linux platform competes with, say, the Sun Fire X4500 + Solaris?
http://www.youtube.com/watch?v=-zQ5RLAyA7w
Do daemons dream of electric sleep()?
> So where does OpenSolaris fit in? It seems to be an OS lacking a niche.
The niche for OpenSolaris is the 64way mission-critical server. Unfortunately, even ultimate kernel hacking enthusiasts rarely have one of those at home.
"closing of part of mysql's source is just as big an indicator that they're not committed to being open."
You have that story all wrong. Nothing that previously was opensource is closing. MySQL has released open and closed-source products forever. The decision to make a native backup driver and compression/encryption as plugins to the open/public API had nothing to do with Sun's management. That was decided by MySQL prior to the acquisition.
There is 0 change there. It's an indicator of business as usual for MySQL.
Why? Last time I tried to install Solaris 10, I couldn't do it in graphical mode because it needed at least 400 (not 384, installer said 400) megabytes of RAM. And even with 256 megs the full install (something like 5 GB of stuff on one DVD)... It took around 8 hours. Damnit, it's just a few gigs of data to be copied from a disc to a hard drive, and then (possibly) set up a little... About 8 hours just to copy some data from one place to another. Even after that, Solaris was slow like a... Vista of some kind. Booting the system took 4 or 5 minutes (compared to Linux on the same machine: 30 seconds? Something like that). When I got the DVD burned I was really excited, since I heard many good words about the OS and stuff, but after trying it out I was just... Really disappointed with its hogginess. Not to mention crappy userland (very old Gnome, no VTs, many minor annoyances, the way stuff is organized within the file system is a total mess...). I really see no real gain from choosing Solaris over Linux (except if you just LOVE the CDE).
In opensolaris (just like in openoffice) you need to give your copyright rights to Sun.
I can't imagine why anyone would want to take part of a community that requires the copyright assignment. Yeah, the FSF also uses a copyright assignment, but then the FSF is a foundation, Sun is a company. I mean, I write the code and Sun takes my rights??? (yeah, i can fork opensolaris and keep my copyright, but it just shows how community-unfriendly opensolaris is...)
I'm definitively not wasting time with a project that requires copyright assignment to a copmany....
I have to admit that I feel the same way. Oh sure, there are some nice things (Solaris Volume Manager, once you get the hang of it, is actually not bad though I still have some gripes), but on the whole it ends up feeling like I have to go and reinvent Linux from scratch just to get the system working like I think it should.
;)
Good thing I used to run Gentoo otherwise that kind of thing might actually tick me off.
"Just a fox, a whisper."
There is some truth in GP's words. While Solaris is full of great ideas, and most of them are pretty well implemented, one must admit that the native userland hardly differs from what it has been in early '90s. Of course, the GNU environment is available, but it hasn't replaced the default one so far. Once that happens, I expect Solaris user base to boost.
Meh. Having been a Solaris, HP-UX and AIX admin, IMHO, there is no better OS for high availability and high scalability than AIX. Solaris is okay, but it's not any better than Linux in that regard. Moreso now that most of the AIX code that counts for HA and HPC are included in the Linux kernel thanks to IBM. ;) In fact, one might (easily) argue that Linux is rather better than Solaris in the clustering department.
My blog
Linux just works? Yeah, maybe for a small system running a simple app stack.
/dev/sde came from vs /dev/sdf. When you have 20 luns mapped to the same host from two different arrays, its kinda important to know which drives come from which array and what the corresponding lun numbers are. That said, most linux admins I've talked to didnt have a clue about what I was talking about since they never had a san.
/proc and watch the fun start.
I had to setup an oracle cluster: Thanks to Oracle's support policies, we could not use Solaris x86. Nor could we use RHEL5 (no Oracle 9i support), so RHEL4.6 it was. Should be easy, right? Well tested "enterprise" class linux that can do everything the big boys can do.... We took the hardware we were going to use for solaris and switched it to linux. A pair of Sun x4600M2's, 128G of ram, 4 Dual core AMD's. Sun fully supports linux on this box and RedHat lists it on their HCL. Should be easy.
The basic OS install was more or less easy, once we battled through the serial port redirection setup (guess most linux users never used a serial port before. After all, why bother when the box sits under your desk). I stil like serial ports over video for one major reason: issue resolution (when bad things happen, having that panic string saved by a console server can really save the day)
Ok, so the system was kickstarted and now it is time to set it up for use as an oracle DB. This is a production system, and we need lots of space (4TB) and High Availability. This means redundant connections to everything, mirroring and clustering.
Issue #1: multipathing drivers for the SAN. With solaris, you just plug the thing into the san and all of the storage that the host has access to just showed up. Multipathing was instant and I didnt have to do jack. I could see what devices mapped to which physical array with a simple command. I didnt have to guess which array
Issue #2: dynamically add luns: With solaris, you just change the mapping on the array and the host picks it up and auto creates the dev links. That was easy. On Linux? you've got to be kidding me... You get to echo some crazy strings into several spots in
issue #3: IP Multipathing. With solaris, dladmin is used to create a bond (if it is going to the same switch and the switch supports bonding) or use the built in ip multipathing to do an active/failover setup if you are going to multiple switches. Very well documented and very easy to do. With linux... yeah, bonding is a fun task. Need to go to multiple switches? no such luck, you are screwed. I eventually used VCS to take over the systems main IP and uses its IPMultipathing agent to do the job for me. VCS on solaris just hands the task off to mpathd since the OS already does it for you.
Issue #4: zones: dont get me started. I dont want to run another entire OS, I just want name space isolation and chroot is so primative it is not even funny. Zones gives me everything I want with minimal overhead. It would have been nice to have since there are a few oracle products that dont play nicely with clusters (*Warehouse Builder*) because they imbed the host name everywhere. We could put it under Xen, but this is an app that moves huge amounts of data around, not exactly a good candidate for virtualization. Zones let us get around Oracle's brain dead use of the hostname, no such luck with linux.
Issue #5: 3rd party drivers vs the new kernel patch. If I install a 3rd party device driver in solaris and upgrade the kernel, I dont have to rebuild/reinstall the driver. Linux (even redhat 4.x with their "back port") forces me to rebuild/reinstall every damn time. Its great if the driver is standard with the kernel, but if you need something outside of that (lsi multipathing drivers to get around #1 and 10G NIC drivers in my case) and you are screwed. No wonder up2date ignores all of the kernel* rpm's by default.
Issue #6: Whats the system doing? Solaris: `mdb -k` and dtrace. Linux: still trying
I spent over a week trying to get Open Solaris build 85. Sun just doesn't get the free distribution thing. You have to register and log in to the Sun Download Centre, from where you can download the CD or DVD images. They try to persuade you to get the Sun Download Manager which is some Java app that gives you pause and resume buttons for the download.
I tried 5 or 6 times to download on different days with the download stalling at sometimes as much as 90%. On the 8th day, I got the whole image. So much for their download manager. You just have to overwrite the chunk you have and start again.
After all these years, they still haven't sorted out the auto-layout of the filesystems. There's not enough room partitioned to install their developer tools.
I went to build gcc-4.2.3. That took 5 days and about a day of CPU time. OK it's an ancient 500MHz USIIi that I got for nothing, but...
See, Solaris's /bin/sh is badly broken (archaic) and can't be used to build gcc. So you set CONFIG_SHELL to be ksh. Only the configure scripts in gcc are still broken from gcc-3.1.x days and two of the scripts it generates, bin/as and bin/collect-ld at each stage of the bootstrap are broken because they begin #!ksh instead of #!/usr/bin/ksh or whatever.
When I used to build gcc on Solaris, I just sed'd all the scripts to replace /bin/sh with /bin/bash or whatever.
So, for the casual SPARC/Solaris power-user/Linux developer myself, it's just too darn inconvenient.
And the stuff in /usr/sfw/bin, which is where the "Open Source migration" into Solaris proper was supposed to happen still looks like it did in 2005, 3 years ago.
Solaris has a brilliant kernel. Putting the DVD images on Bittorrent (officially) like OpenOffice.org, would be a great start. There are too many hurdles for the average user to go through who might have been interested in trying it out. I don't have to register to download Slackware, Ubuntu, KNOPPIX, NetBSD etc.
Sort out the default install so that the disk layout is sane and make it trivial to install the GNU toolchain.
But I've been through all this years ago, and it pains me to see that it still hasn't been fixed.
Stick Men
It seems Sun is doing everything in its power to alienate a developer community.
-Wouldn't let the opensolaris board call the project opensolaris. Probably a legal quagmire of their own creation. The consequences of that lead to this resignation. http://mail.opensolaris.org/pipermail/ogb-discuss/2008-February/004488.html
-There's this gem, most of which I don't pretend to understand. The punchline is on the bottom. http://cryptnet.net/mirrors/texts/kissedagirl.html
-There's this gem, where even Ian Murdock links in suggesting the difficulty is happening above his level. http://ianskerrett.wordpress.com/2008/02/22/a-solution-for-suns-os-community-problems/#comment-17418
http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
Yes, it's a hog, and I say this as someone with a couple of dozen SUNW^H^H^H^HJAVA shares.
I have some old Sun boxen, one of which (Sun Blade 100, 512MB, 500MHz) I used to play at 64-bit big-endian RISCs running Solaris. All of my other boxes are Linux including an old Ultra 1 with splack.
Nevada build 85 only took about 2+ hours to install from DVD on my Sun Blade 100. The previous one I tried (78?) took 3.5. The GUI is unusably slow, and the disk thrashes like mad. I use it headless over my network normally, so I don't mind too much. There are suspicious java processes running all the time, too. I sometimes run SETI@Home on it and it gets just shy of 330MFLOPS, which isn't bad considering its age.
I remember when Sun started the Java desktop thing. It is a port of GNOME, but they insisted on writing a lot of replacement applets in Java for it. Why have XMMS for audio when you can write a lame mp3 player in Java, for example? *sigh*
Stick Men
Their OSS stuff is generally high quality production code: Java, OO.org, Solaris...
But the OSS projects themselves have problems involving people outside of Sun. In the case of OpenOffice, Novel had to fork to get their improvements in at a reasonable pace. NeoOffice had to fork to get a useable Mac OS X version at all.
OpenSolaris may head down the same path, with Nexenta having the better and more available build than the main project does.
It seems that Sun knows how to code. They just don't know how to be open. Websites with registrations and download managers are barriers. Projects that accept outside contributions at a glacial pace, if they accept them at all, are barriers. And these are typical of everything Sun.
If they could learn how to create vibrant open communities, while still retaining the ability to guide/control the projects as much as needed for their purposes, they'd be an even more incredible force in the OSS world.
> There are suspicious java processes running all the time, too.
Solution:
svcadm disable webconsole
cacaoadm disable
cacaoadm stop
Somebody with a mission critical server should be running real Solaris, not OpenSolaris.
Picking CDDL was to keep people from taking the code like they did with the original 4.xBSD series, while still allowing people to write closed-source drivers for it when it gets popular enough to attract people to do that.
Imagine how good the hardware support could be on Linux if Linus had just picked a license that lets people link in to the kernel with non-GPL code, and kept a stable ABI so that it made sense to do so. THAT'S what Sun was after
Here goes:
/proc files). Then we tried the mppBusRescan utility that comes with the lsi drivers. Noe worked because they were only operating at the scsi level, not the FC port level. The missing magic? we have to first force a lip on the FC ports by echoing more stuff into more /proc files. `cfgadm -c configure` is so much easier since it does everything in one shot, and that is only if you turn off the autoconfigure option.
:-) Talk about two vendors who have not really bothered to advance their OS in the past 10 years, linux is awesome compared to those two. (of course, my experience with those two have been helping the poor admins try and do half of what linux can do)
1) We did it as part of the finish script in the kickstart script. It was more than just adding it to the grub.conf, you also have to tweak a few other files to actually get the damn thing to start a login prompt on the serial port. Compared to solaris where I just add a console=ttya in the add_install_client script (yeah, we jumpstart everything) as a boot param and the installer takes care of the rest.
2) I ended up loading the lsi mpp drivers. Using a combination of veritas dmp debug commands and the mmpUtil command, we can map which lun it comes from. the vx commands give us the uuid of the lun, and the mppUtil commands tell us what lun has that uuid. Oh yeah, and we use VxVM for the fast resync capabilities since we run a campus cluster. ZFS offers a similar function of only copying the changed blocks over when (not if) something goes wrong. I hate waiting for a 2TB volume to fully resync, and so do the DBA's who then bitch about the performance hit.
3) We first tried the magic that redhat suggested (echo "bla" into a bunch of
3) 802.1ad is bonding, aka EtherChannel in the cisco world (truning to everybody else). I mentioned that we are running between two different switches and bonding is not supported in that config. This is the problem with linux. I say I want to do something, and everybody jumps on the wrong answer. (yes, cisco will support it between 6509's running the not yet out Sup 1440's.... like I trust that to work, 10G is just easier for the bandwidth)
4) linux-vserver... its close, but zones takes it to the next level. And I hate patching the kernel since you are just asking to get something to not work since you are now one of a very small group doing it. If i wanted to do that, i'd work for redhat/suse/oracle/whoever. Yeah, it was fun in the early days of slackware when you had to more or less build a new kernel from src to do anything, but I really dont have time for that anymore.
5) ps and top are good for easy problems. Here is an one that those tools didnt spot: I had to figure out what was eating a system alive and sending it into a tailspin. Turns out that oracle's enterprise agent was spawning thousands of sub jobs that lived and died in under a second. dtrace spotted this in an instant. top and ps will never saw it. (once you know the problem, strace will also spot it, but you first have to know what process is causing the problem) Yeah, when somebody says the system is 'acting funny', I reach for top, ps, ptree and the like. If nothing shows up in 30 seconds, its time to dig deeper. That requires tools like truss, snoop, dtrace and mdb (for the really nasty problems). I dont get paid more than everybody else in my group to solve easy problems. I get paid more because I get to solve the nasty ones.
As for zfs, the first release was cool, but had a few 'issues' that needed to be sorted out. At least the sales engineers I talked to warned me to wait for an update release or two before I used it in production. That was then, but this is now, and it rocks. We now use it as the base FS for all of our zones and as a failover fs with Sun Cluster. The damn thing just works. I would not put oracle on top of it due to a few minor strange things oracle does, but for everything else it is great.
And dont feel so bad, I think poorly of HPUX and AIX too
Thanks. IANAL either, but I can see that GPL3 seems to make a difference between consumer products and others. I will have to read up on where this came from and what it means.
It is very obvious, however, that it is not a clause that gives IBM any more rights than others, as you claimed. Were IBM to sell me a consumer product, they would be bound by the same rules as anyone else doing so.
"When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns