I have pretty much concluded, after looking at various Linux distros
from Ubuntu to Puppy and in between, that I need to build a new flavor
of thingummy. The reasons for that are many and varied and this post
isn't really the place for getting into them.
For lack of a better term, I'll call this thingummy a "distro", not
because I need to distribute it and become master of the universe, but
because there is the potential that some few others might find that it
suits their needs too, and it's my tendency to plan for the most general
case whether it ever comes to pass or not... mostly because I find it
annoying to go back and do what should have been done in the first place.
In attempting to read the GPL3, my eyes glaze over as the legalese has
its novocain effect on my brain. What I get is that people can use,
redistribute, and modify the code however they want as long as they
don't make it proprietary. So far, so good. But the bits about making
source code available seem kind of bleary-eyed... if I include every
line of source code for every package in the distribution media (iso
archive) it'll be huge and less convenient to download. If I make it
available on a server it appears that such implies a promise to keep it
available more or less forever, and given the choice between paying rent
on a website with unlimited bandwidth for the rest of my life and not
distributing the code, byebye distribution. So how do people usually
deal with this? And is it legit to assume that if a project is released
under GPL that all of its components are also GPL?
I hear about this or that Linux project, but google has so many
references to specific Linux projects that my google-fu is inadequate to
finding information about how one starts a given Linux project. I see
references to CVS and repositories but have trouble finding out how to
set up such a thing for a given project. Is there some specific place
that all projects live, or what's the deal?
The idea of building a distro from scratch is kind of overwhelming...
forget about me auditing all the source for trojans, even the time it
would take to compile them all seems prohibitive when you look at the
amount of stuff involved. I can probably deal with collecting the
necessary binaries, modifying the few that might actually need
modification, and build the code to hook it together. But is that
allowed under the GPL? How deep must I go to build this thing so that
other people can use it?
And how does one decide what level to begin at? Sure, it'll need a
kernel, but the generic kernel will probably be just fine... it'll need
the core commands but those are probably just fine... building it up
from basic components is one approach, but the various existing distros
have already done that... then gone on to add bells and whistles and
flushing toilets and kitchen sinks so they'd need to be stripped down to
the basics.
Comments from those who have done such a thing before would be very much
appreciated.
Replies