OpenSolaris, Gobuntu, and be careful who you kiss
5 August 2007
All sunny in Solaris-land
So a while ago, SUN released the Solaris code as open source, as well as making the regular Solaris binaries available as downloadable ISOs (albeit behind the most annoying download page ever). Ian Murdock the co-creator of the early and groundbreaking Linux distribution Debian (=Debra + Ian), has been recently recruited by SUN to make OpenSolaris a modern free software distribution that will be as usable as Linux, with a Linux-style packager manager, friendly tools, community involvement and so on.
If I was SUN, I would start by appealing to its own existing base of the millions of Java developers out there; I would make a Java developers version that is full to the brim with Java tools and libraries, documentation, code snippets, that are all painlessly installed on the DVD by default, making OpenSolaris the premier and most comfortable development environment for Java, which is a title probably held by Mac OS X at the moment (IANA Java guy).
BeleniX is one of the early community produced distributions of OpenSolaris. A nice deal was worked out on the OpenSolaris forum/list. The SUN supported OpenSolaris will be based on GNOME, while BeleniX will be based on KDE, not unlike the Ubuntu/Kubuntu set up.
Go for Gobuntu
Another interesting thing I have been following is Gobuntu, a special version of Ubuntu that is optimised for freedom, as Mark Shuttleworth points out:
> It is a flavour of Ubuntu (like Kubuntu or Xubuntu) that is basically the same desktop environment as Ubuntu (a GNOME desktop) and a very strict set of restrictions on the licences of code and content. This means that we try to strip out ANYTHING which is not modifiable and redistributable, including firmware, PDF’s, video footage, sounds etc. We are trying to apply the FSF "rights" definition to everything in the platform.
I joined the mailing list from the start and it has been an exciting ride. At the most general level there has been a few people who have interpreted the whole thing is a lightning rod or fig leaf for putting blobs standard Ubuntu, I am not sure that is fair at the moment as Ubuntu have done a lot of cool things to enable more free software so far.
Why Mono?
Anyway, besides the superficial but fascinating logo and colour discussions, the most interesting discussions have been on what to do with Mono. Microsoft have patents on it and seem willing to use them. Many distributions remove MP3 support and other codecs which are patented encumbered in the US (software patents are not valid in the EU), and MP3 support is rather more key to most of us. So under this logic, Mono should be out.
I went to a tutorial on Mono at GUADEC and it is a very cool technology. On the plus side it is a cross-platform, dynamic object-oriented and general purpose; everything I like in a programming language. However, all these apply to Python which seems to occupy exactly the same function and offer similar features. Python also has a decade and a half of open source software to use as the basis for our current software. There is also Java, Perl, Ruby and several other things that we already here.
The way graphical systems seem to be evolving is that you have the iceberg model, a dynamic language at the top and C/C++ at the bottom.
GNOME Apple Windows
Python Mono Applescript .Net
C/C++ C/C++ C/Objective C C/C++
Hopefully that table made sense and the layout survived however you read this, the idea anyway is that you have a compiled language for performance intensive tasks, and a dynamic language for tasks where rapid development is important and to give people like me a chance to contribute. So technically Mono is really cool, but in GNOME it has the same function as Python, which is really cool too, both are dynamic languages with a similar function in GNOME, analogous to the role of Applescript in Apple.
So apart from the ability to appeal to existing Windows C# programmers, I am not sure what Mono really does for us, the free software community. I can see what it does for Novell, as third-party proprietary software firms can port their .Net applications to Linux in minutes, rather than months. This may give it one competitive advantage over more established rival Redhat. Again though this does nothing for us, especially if we think that in the long- term, these firms will either join us in the free world, go bust or get eaten alive by Microsoft.
Novell bought Ximian so have many of the original GNOME hackers working for them, including both co-founders of GNOME, Federico Mena and Miguel de Icaza, the latter of which is also the founder of Mono. So currently Mono is gaining a good stronghold as the high-level language of GNOME, at least within Novell's SuSe Linux.
Why not Mono (nucleosis)?
I like the idea that Gobuntu, and perhaps Ubuntu, and the more community based distros generally, could go in a different direction to Novell. We can use our own native Free/Open Source technologies, Python included, to make a distinctive GNOME based Linux distribution that does not depend on just following what Microsoft is doing this week.
If you carelessly kiss everyone then you are likely to get a different kind of mono. Microsoft are a convicted, serial and unrepentant anti-trust violator, I find it hard to trust anything they say, I am not sure we should go near them at all, let alone start kissing up to them. So if there are some distributions that can be not so heavily yoked to Mono, then if the patents turn out to be a problem, all the GNOME-based Linux distributions do not all fall at once.
I read the agreement between Xandros and Microsoft, and one of the excluded products was Mono, so Microsoft promises to not sue Xandros over their distribution but excluding Mono and a few other products, i.e. they reserve the right to sue over Mono. I wonder if this is an interesting preview of on what basis they want to fight the free world.
Interestingly, the Novell deal seems to be different, Mono is not excluded from the Novell deal. So Microsoft seems to be promising not to sue Novell over Mono, but keeps the option open for Xandros. Weird but true.
So for me, it would be interesting to see if Gobuntu can do more than just be a testing ground for free/open-source hardware support; Gobuntu could perhaps also push the software in a more Linuxy/Posix direction, more consistent, with Python and our own native and modular tools rather than the reverse engineered Microsoft-rip offs, which are available from Novell anyway.




1 Otis Wildflower says...
Ugh, Gobuntu is exactly the wrong thing to do, at least as far as "winning the desktop" is concerned.. Gentoo has it much better, making it easy for users to choose to use or avoid stuff like NVIDIA binaries, MP3 packages, etc. Gentoo, once installation is made simple and device management rivals Ubuntu, could be a much better desktop choice.
As far as Sun goes, I'm starting to like Blastwave (www.blastwave.org) much more, though if Sun were to take the better parts of OpenSolaris and roll them into a supported Solaris 10 mechanism I think that would be an even better way to go. I use Blastwave because OpenSolaris doesn't mix that well with Solaris 10..
Posted at 5:10 p.m. on August 8, 2007
2 Zeth says...
Hi Otis, thanks for heading over. I agree 100%. You are right in that Gobuntu sounds completely unusable on the hardware that we have now. I think to start with, it is more like an R and D project that will encourage vendors to produce more open hardware. You are also dead right that personal choice is the most important thing. So I think we need to have multiple lines of attack for the desktop. Then we can start to outflank that proprietary PC operating system. So we both get the thing working (with whatever drivers or applications required) to expand the user base, as well as knocking out the blobs as we can. Width and depth. Take graphics cards, a couple of years ago, everyone was happy to have any driver that would run a basic X-server at all on Linux. Now all card manufacturers produce Linux drivers that can easily do that. Now the push is in two directions: a) complete 3D functionality - most graphics cards have that (at least for x86/AMD64) b) open source drivers - Intel is already there and probably soon AMD/ATI will join the party. We were happy to have any kind of working flash, now we get an open source flash clone called gnash. Same with Java. Before we were happy to have one model of laptop that Linux could be installed on, now we want laptops without Windows preinstalled and even to have OpenBIOS and completely open firmware. So blobs, these small crutches. are certainly needed, otherwise our system is unusable and people are forced to the 100% proprietary system. However, we slowly reduce the blobs, so we go from 90% open source to 95% to 98% and so on.
Posted at 5:22 p.m. on August 8, 2007