On 08/15/2010 07:13 PM, Jonathan Edwards wrote:
> but how do we liberate the source from the CDDL?

Why would you need to?  The kernel can remain CDDL.  Anything that can
be replaced with sources from *BSD or Linux directly, can be, if needed,
but why would a non-Oracle distribution of a fork of OpenSolaris need to
be non-CDDL?

> that still seems like it could be a bit of a problem 
> if the original license steward (Sun => Oracle) decides 
> to change the terms of the license, and/or if the 
> larger community does not trust or approve of the 
> actions taken by the license steward ..
>   

If Oracle changes the terms of the license, there still would exist man
pages and include files in Solaris proper.  There's nothing to stop
anyone from implementing *similar* interfaces.  Sure, the binaries would
then no longer run, but the source code would compile just fine.  The
back end implementation would no longer work exactly in the same way,
and if you were to run things under a profiler, some code would run
slower, other code would run faster than on Solaris proper.  But it
would run.  So in a sense, it would be source compatible, at least.

Anything patented would become problematic, so one would need to watch
what patents are registered and work around them, or do the exact
opposite and avoid looking, whatever the best strategy is.

But if Oracle does go belligerent in that manner, there's not much to
stop it anyway, CDDL or not.  Does the existing CDDL'ed open source code
in osol provide a "will not sure for patents covered by this source
code" clause?

Key is, Oracle cannot retroactively change the license for already
released source code.  If there are no possible patent issues to the
already released CDDL code, then all will be fine, except that binaries
from Solaris 11 and future releases might not run properly on future
IllumOS or Nexenta if the ABI changes.

Would it be so bad if IllumOS was forked off Solaris?  IMHO it would be
more similar to FreeBSD, OpenBSD, DragonFlyBSD, etc. forking off
NetBSD.  Oracle did claim they'd release sources for Solaris, maybe they
will, maybe they won't, but if they do, there'll be something like a six
to twelve month gap between release and incorporation into IllumOS (to
account for code reviews, and non-Oracle code changes, as well as bug
fixes and such.)

As IllumOS grows and gains more participants, bug fixes (I'm thinking
security fixes mostly) can be provided independently of Oracle.

A lot of the Solaris distro itself does come from outside.  Things like
OpenSSH, OpenSSL, sendmail, apache, gcc, etc.  These are already open
source and widely available, so maintaining these will be easy.  The
hard parts would be proprietary libraries, kernel, and kernel modules
and device drivers.

As long as Oracle doesn't become evil (for highly large values of evil -
i.e. suing for patents), things will work out just fine.  Ideas for
features as well as drivers can be mixed in and incorporated from the
BSDs and Linux. 

Perhaps some sort of side project can be started to look at a generic
way of making device driver sources from Linux and the BSDs work with
the OpenSolaris kernel (as separate Solaris modules so there are no
clashes between the CDDL and GPL/BSD licenses.)  Most of the devices are
block or character mode, so perhaps some sort of compatibility framework
could be built?  Linux certainly has a lot more supported drivers for
hardware than opensolaris, if there was a way to port a majority of
those drivers, we wouldn't have to rely on Oracle for them, nor would we
have to rewrite them all from scratch if there was some compatibility
layer.  Granted not everything would work immediately out of the box,
but for stuff like USB and PCI devices, as long as it doesn't depend on
too many things inside the Linux or BSD kernel, it might work.  (And
those callbacks could be implemented in another layer.)  I recall about
5-10 years ago the idea of a captive driver on Linux where you could use
windows NT drivers under Linux, for example.

If Oracle doesn't open source certain aspects of Solaris, perhaps the
IllumOS project can provide similar projects written from scratch with
identical commands and similar or identical arguments for them.  For
example, flash archives aren't provided, but new independently written
installer that supported them, along with a clean room written flar
command set could be written as well, etc. 
Or hell, grab kickstart and tweak it and work from there until a
comparable installer that does as well as or better than jumpstart is
produced.

And it could also have a flar restore command that could be executed
from a live CD against a hard drive.   It doesn't have to follow it
exactly as long as the wanted features and support are there.
Published information such as this:
http://docs.sun.com/app/docs/doc/816-5174/flash-archive-4?l=en&a=view
could be used to make a new implementation, even if incompatible.

I'd suggest, whatever Oracle releases, we use to keep compatible with,
whatever they don't, we implement from scratch with comparable
features.  After a few years, distros built off IllumOS would likely
outpace Solaris, and Oracle would find themselves having to keep up with
IllumOS instead of the other way around.  The difference was that most
of the OpenSolaris developers were at Sun.  Now that Oracle's done a bit
of laying off, these folks are now freed of Oracle and don't have the
same limitations.  If there's a far larger developer mass (assuming
there is interest) outside of Oracle than inside, this can happen. 
IllumOS doesn't have to compete against Linux and the BSDs, rather it
can join them and both benefit and contribute to them as well.

If you remember the bad old days of Solaris 8 and 9 where right after
you installed an OS, you had to spend tons of time raping the bandwith
of sunfreeware.com for all the GNU and non-GNU free packages that were
missing from the Solaris, just remember how much came to the Solaris
distro from the outside.  Eventually, Sun got the hint and put a lot of
those packages under /usr/sfw.  This can be a similar situation a few
years out from now if we get enough interest and momentum to outdo what
Solaris 12 for example will have, and you'll see Solaris 13 grabbing
things back from IllumOS. :)

Let's stop grieving for Sun and OpenSolaris and redirect our energies
into bettering IllumOS.  We can build something even better than what
OpenSolaris could have been.  This isn't the end, it's a new beginning
with a lot more freedom.

If anything I'd strongly suggest that whatever new features are to be
added, as long as they can be, should be outside of the CDDL, and rather
under GPL licenses than BSD or other licenses.  This would prevent
Oracle from taking back source code, tweaking it and closing it.   That
way, anything they'd adopt from IllumOS, they'd have to release sources
for tweaks or bugfixes.  :)

For example, I'd love to see k-splice like features in Solaris, but that
will likely never happen, but it might under IllumOS.  Want to build a
router or firewall with IllumOS, now you can.  Want to build a MythLumOS
distro, now you can.  Want to build IllumOS for a tablet, or hell, for
that matter your cellphone, instead of going with Android, now you can. 
Want to bring back the PPC port, or even better, want to port to
Alpha-AXP even though that's now a dead platform?  Now you can.

_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to