Originally posted by GreatEmerald
View Post
Announcement
Collapse
No announcement yet.
Experiment: system with only GNU licensed software
Collapse
X
-
Originally posted by bridgman View PostHave to disagree here. Permissive licenses do not generally allow re-licensing, but rather are *compatible* with GPL and compatible with typical EULAs so you can use them in either GPL-licensed or proprietary code.
Comment
-
-
Hmm, looks like I hit something that I just have to make an exception to, and that's `shadow`. It used to use some crazy custom license, and now a BSD one, and everything relies on that (implicitly, even!) to add users and groups. Now busybox does provide "addgroup" and "adduser", but those are really basic and don't support a lot of functionality used by the different ebuilds.
Otherwise, I got rid of OpenSSH (incidentally something that explicitly depended on shadow), and am trying to see if I can actually get less things to make exceptions to by using Paludis instead of Portage (as Paludis is based on C++ and not Python). I'll see how that goes.
Comment
-
Originally posted by GreatEmerald View PostHmm, looks like I hit something that I just have to make an exception to, and that's `shadow`. It used to use some crazy custom license, and now a BSD one, and everything relies on that (implicitly, even!) to add users and groups. Now busybox does provide "addgroup" and "adduser", but those are really basic and don't support a lot of functionality used by the different ebuilds.
Otherwise, I got rid of OpenSSH (incidentally something that explicitly depended on shadow), and am trying to see if I can actually get less things to make exceptions to by using Paludis instead of Portage (as Paludis is based on C++ and not Python). I'll see how that goes.
Comment
-
Originally posted by erendorn View PostMIT and Apache explicitly allows sublicensing (so you end up with GPL + GPL compatible custom clauses, which is a valid although non canon GPL license), although BSD license does not explicitely say so.
You can include MIT-licensed code in a GPL-licensed (or proprietary licensed) product but the MIT-licensed code has to keep its MIT license. Same for BSD. I haven't looked at Apache recently.Test signature
Comment
-
Originally posted by bridgman View PostSublicensing is not relicensing. The MIT license does not allow you to remove the existing license (in fact it specifically requires that you include it).
You can include MIT-licensed code in a GPL-licensed (or proprietary licensed) product but the MIT-licensed code has to keep its MIT license. Same for BSD. I haven't looked at Apache recently.
If so, would the Hurd kernel work?
Comment
-
Originally posted by bridgman View PostSublicensing is not relicensing. The MIT license does not allow you to remove the existing license (in fact it specifically requires that you include it).
You can include MIT-licensed code in a GPL-licensed (or proprietary licensed) product but the MIT-licensed code has to keep its MIT license. Same for BSD. I haven't looked at Apache recently.
Comment
-
Hmm, the list of exceptions is now growing. Python requires Expat and libffi, so those need an exception. Then parts of xz-utils need an exception, mostly due to the unxz utility (which I could replace with the busybox one, but all the ebuilds would have to be rewritten, ugh). Then the popt library is needed by rsync, which in turn is needed for portage. Then `file` is needed by eselect. Then flex is needed by the build systems. Then zlib is needed by pretty much everything. Same with ncurses.
I also unmerged quite a few things, including iputils (once again busybox can cover that), some perl modules, openjade, opensp. The list of packages installed but with conflicting licenses is getting short now.
One idea I had about how to get rid of some python requirements and OpenSSL is to use Paludis instead of Portage. It's all in C++ instead of Python. The problem is that `cave` is quite strict and tries resolving all dependencies at once, which is not a nice thing to do when my system is already quite hacky... And it also doesn't seem to care about licenses, at least in Paludis 2.0.0. I might try to play around with it some more, though. Python is only really needed by portage, grub (only build-time) and gentoo-sources (by definition build-time). But then a lot of the infrastructure depends on portage. Funnily enough, if you try to do "emerge --depclean portage" you get a message "there is no valid reason for Portage to unmerge itself" Paludis isn't so sentimental about it, but then even its developers say that you're better off just leaving it installed.
Comment
-
Oh, and Python itself needed an exception since it uses its own license type... I also removed berkdb. Had to recompile a few packages to get rid of it, but it worked out fine.
glibc will also need some exceptions, looks like. While it's mostly under LGPL, but it also includes parts with all kinds of mismatched licenses. uclibc would be nicer in that regard, but GCC et al depend on glibc directly.
I also haven't decided what to do with MPL 2.0 software. It's sort of a dual-license arrangement, where at one's option it can be treated as GNU licenses, but it might only be applicable if it's a combined work. Then again, I haven't encountered any MPL 2 software yet, so it may be a non-issue (ca-certificates are MPL-1.1, but they are needed by OpenSSL...).
Comment
Comment