Announcement

Collapse
No announcement yet.

Experiment: system with only GNU licensed software

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by GreatEmerald View Post
    Unfortunately that's not an option. It's not a dependency controlled by a USE flag, it's just a flat-out dependency.
    Bug Gentoo people then, as glib doesn't have a hard dep on that. No small distro bundles docbook.

    Comment


    • #12
      Originally posted by bridgman View Post
      Have 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.
      MIT 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.

      Comment


      • #13
        Originally posted by curaga View Post
        Bug Gentoo people then, as glib doesn't have a hard dep on that. No small distro bundles docbook.
        Glib isn't depends on that, it's a make depend and for some reason, it seem like you cannot disable docs building so that's why docbook is required

        Comment


        • #14
          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


          • #15
            Originally posted by GreatEmerald View Post
            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.
            Keep us updated, it's interesting to see projects like this pop-up. I'm going to assume that some things will actually have to be written from scratch to get basic desktop functionality. I totally forgot that Mir is GPL, but then you have to look at it's dependencies...

            Comment


            • #16
              Originally posted by erendorn View Post
              MIT 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.
              Sublicensing 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.
              Test signature

              Comment


              • #17
                Originally posted by bridgman View Post
                Sublicensing 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.
                Wouldn't that mean that the Linux kernel, containing a bunch of code using those licenses, is not usable for this project?
                If so, would the Hurd kernel work?

                Comment


                • #18
                  Originally posted by bridgman View Post
                  Sublicensing 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.
                  Basically it can be done like this: add your own (GPLed) code here and there in various places. Then one who receives this mix of code, have to consider BOTH MIT (or BSD) license and GPL. Effectively making it more or less equal to GPL. Of course they can try to remove GPLed code and stick to MIT(or BSD)-only. But they have to understand that if they'll fail to remove some GPL code, they are under risk of being sued, which makes it high-risk task. So while I can understans some people consider GPL viral, that's what made Linux and some other projects what they are. Should all stuff be BSD-licensed ... okay, we can already see bunch of proprietary BSD forks. And their upstreams in exceptionally poor and underdeveloped state. That's where to BSD/MIT freedom leads. And it's not like if I can change firmware of some Juniper device, so I would not call it "freedom" at all.

                  Comment


                  • #19
                    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


                    • #20
                      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

                      Working...
                      X