Slashdot Mirror


GPL and Project Forking

Norm writes "Linuxcare is running an informative article about project forking and how the GPL serves to prevent forking in many cases; a good expose on a timely subject, given recent fears about kernel forks, etc.. " Being at Comdex, I've heard a lot of people wondering about why Linux stays together, questions about what the GPL means and how it works. There seems to be a lot of confusion about what different distributions actually mean.

10 of 178 comments (clear)

  1. Confusion? by Signal+11 · · Score: 4
    I'm not confused - not a single little tiny bit. Alan Cox has an entire "fork" of the linux source sitting on his harddrive, and he syncs in changes from other developers on a regular basis. Eventually linus will put those patches in. I've seen a plethora of linux patches on the 'net doing everything from hardening the kernel against hacking attempts to running on hardware I didn't even know existed until they released linux on it!

    Forking is not the big issue people think it is. Usually the fork is necessary to, say, test out a new idea (egcs for example), or because the current development has gotten stale (gimp). In both cases there was negligible impact on the users. egcs has superceded gcc, and has done so without incident. There are major differences between the internals of gcc and egcs. Gimp development has been "revived" (some question if it was ever dead!), and everything is happy in linux land.


    --
    1. Re:Confusion? by EngrBohn · · Score: 4

      At a recent presentation by SGI (Linux University Road Tour), I think it was put best (paraphrasing):
      "Like all evolving open-source projects, Linux will always appear to be on the verge of forking, due to the constant experimentation going on. This is a healthy thing for Linux."
      Christopher A. Bohn

      --
      cb
      Oooh! What does this button do!?
  2. Is it just me, or have attitudes changed? by afniv · · Score: 4

    I seem to recall, say about a year ago, the answer to everything regarding the benefits of open source was essentially: just fork it!

    You have the source code, you have your bright ideas (so you think), and you want make some software better. So open source, being open source, would promote better software by allowing anyone to fork the code to increase the quality of the software. I think even Netscape was used as an example. If you don't like the browser, build your own from the pieces of Netscape that do work (can you do this with the Netscape license?).

    But lately, with folks talking about forking the actual Linux kernel, forking seems to be the bad answer.

    I think instead of arguing over forking, the argument should be over freedom of choice. Whether you fork or not, it's GPL. If someone likes your forked code better, isn't that success? If someone doesn't likes your code and stays with the original, isn't that success?

    Who gives a hoot to forking? I have the Linux that I have. I have all the source code I need. If I ever learned programming, I could do more about it. Since I don't, I can hire somebody to do make changes for me. If there is a better feature, I'll just add it. But, I figure, if it's really that cool of a feature, someone else will add it to the current Linux kernel or other open source software as well.

    The short answer or question is: Who's going to take the software (or OS) away?

    Still, I'd like to count how many times forking was discussed as a benefit to open source before it seemed to become a dirty word lately.

    ~afniv
    "Man könnte froh sein, wenn die Luft so rein wäre wie das Bier"

    --
    ~afniv
    "Man könnte froh sein, wenn die Luft so rein wäre wie das Bier"
    Richard von Weizs
    1. Re:Is it just me, or have attitudes changed? by _ska · · Score: 4

      I think it is just you ;)

      Seriously, I have always considered forking of an OS project to be a last resort. If you have the 'bright ideas' and the source code you can become a *contributer*. I think you will find that this is (and always was) a pretty common outlook on the subject. The ability to fork is great. The neccessity of forking is unfortuneate.

      The point behind (successful) forking was always that if a group of people irreconcileably dissagree about what constitutes a 'bright idea' ... they can split up and each go after what they see as best. If you and your bright ideas are operating in a vacuum, it isn't much of a fork. Another possibility is that a project has fallen into disrepair, or hasn't been updated as rapidly as people want --- but the people involved refuse to do anything about it or let you help. Then OS means you can pick up where they left off.

      Both these situations are pretty extreme though. In general, everyone will win if you can figure out a way to patch up your differences and all push in the same direction, no?

      S.

  3. We can, but we shouldn't?!?! by nuintari · · Score: 4

    Why is it that every person i have ever heard proclaiming the usefullness and flexability of Linux has claimed that forking the code is a possability, and a great idea. But whenever it makes Slashdot news people rise like religious zealots to knock it down? "Don't mess with our source!" They say. Well, its my source too, its all of ours, and we can change to fit our needs, and we should. If we change it for the better, it may cease to be a fork, if we change it for the worse, it'll probobly just die off. Code forking is at the heart of the gpl, and almost crucial to its effectiveness.

    --

    --Nuintari

    slashdot : where an opinion can be wrong.

  4. Re:Why Linux doesn't fork by Christopher+B.+Brown · · Score: 4
    Is there a worthwhile feature that anyone has developed, debugged, and perfected that the Linux guys have said no to?
    The following items are not all of identical merit, but looking at things through overly-rosy glasses is unwise.
    • Support for ANSI C, and thereby the ability to compile the kernel using EGCS?

      We still have the situation that GCC v2.95 Or Higher Still Out Of Favor For 2.2.3pre11

      (That has changed recently, but Linus was refusing "EGCS compatibility" patches for rather a while there...)

    • Removal of arguably-obscene language took a long time to be accepted...
    • ACL's haven't yet seen implementation (although nobody has seriously tried)
    • devfs has been tracking Linux kernels for quite some time, but has never been included.

      Recently discussed.

      This debate first came up in Issue #25, Article 2. This time it started innocently enough with a discussion of USB device number allocation. Pavel Machek pointed out that USB was finally starting to get useful, which meant it was time to allocate /dev entries for various USB devices. He allocated 32 entries for 16 devices, and Steffen Grunewald asked about other USB devices like monitors, speakers, etc.; and Dan Hollis replied, "The desperate need for devfs becomes all more clear." At this point there was no turning back. The debate raged for about a week and a half, generating over 600 posts. Linus, although back from vacation, posted nothing in any of the related threads; while Alan addressed his posts strictly to peripheral, technical details.
    --
    If you're not part of the solution, you're part of the precipitate.
  5. testing the GPL by sethg · · Score: 4
    The GPL hasn't been tested in court, but companies with a strong financial incentive to violate it, and whose IP lawyers could find any loophole in the GPL worth exploiting, have decided that they'd rather comply with it than challenge it in court.

    See, for example, the "Pragmatic Idealism" essay on the FSF's Web site. NeXT made an Objective-C front end to the GNU C compiler, and wanted to make this front end proprietary. The FSF's lawyer told them this would violate the GPL, and NeXT gave in.

    --
    send all spam to theotherwhitemeat@ropine.com
  6. Article full of errors by Per+Bothner · · Score: 4
    While I fully agree with the thrust of the article, and it provides several good examples of forking, unfortunately the article is full of mistakes and misleading statements.

    For example, the article states that "Lucid Emacs" was proprietary, and implies that it predates the GPL. Both are false: Lucid Emacs was based on GNU Emacs 18. Lucid Emacs and Xemacs have always been released under the GPL. And the aricle left out one major reason why a merge would be very difficult: The Xemacs people do not require copyright assignments for donated code, and Stallman does require such paperwork.

    The history of the gcc/egcs/pgcc is also very misleading.

    Finally, Stallman did not write glibc. The original author/maintainer was Roland McGrath; the current author/maintainer is Ulrich Drepper.

    The mention of non-free BSD-based commercial Unixes implies that these implementation came after the release of the free BSDs and the AT&T lawsuit; they long pre-date both.

  7. Forking is a double-edged sword, both edges cut! by somebody · · Score: 5

    The article was very well written and insiteful but didn't convince me that forking isn't really a threat. It also minimized the impact on productivity that forking has caused.

    Today, the different Linux distros can cause a headache for people dealing with product installation issues, usually with scripts. This isn't so bad because most UNIX people are already used to that. But it does scare off software companies. Think about it, for Windows, you just buy InstallShield or Wise and most of the problems of OS differences are taken care of. Not true for Linux today.

    It gets worse at the API level. If the Linux kernel forks and the APIs contain minor annoying incompatibilities, it will be just as bad as the UNIX days of old.

    I'm a strong advocate of Linux mainly because it is Open Source. I feel the advantage of this is huge, but mainly for developers. Developers need to be able to trust that the APIs they are using a) work as advertised, b) can be fixed quickly when they don't and c) aren't subject to the whims of a particular profit driven organization. Open Source, and in particular GPL'ed code guarantees those things. Nothing else does.

    These benefits aren't immediately visible to the consumers (ie. the non-programmers who just use a computer to get something done). But the benefits do trickle down, when the code they use can be made more reliable and can safely incorporate innovations. The time spent reinventing the wheel for minor variations of operating systems could be spent doing useful innovations.

    Realistically, freeware will never replace commercial applications, and I don't want it to. What I want to see is new products with genuinely new features, and I'm willing to pay for them, with or without source. Those new products will come a lot faster if there is a common API to work with. There will always be competing versions of products, but at some point there will be features we come to expect of all of them, and the advantages to the different versions of the products become trivial. At that point, it makes more sense to standardize on a freeware version, and forget all the others. I believe at this point in time, there are not enough technical advantages to the competing operating systems to warrant their existence. It is a detriment to everyone's productivity. Therefore, it's time for an Open Source OS to move to the forefront, and Linux is the closest of any to doing that.

    Right now there is one major fork in the Linux world, and that's GNOME vs. KDE. This is particularly nasty, because there really is no way to develop software that supports both. (I mean totally supports both, not just using some common subset of features) This is a long-term threat to the viability of the OS for commercial development. Let's get real, they both are trying to accomplish mostly the same goals: a common look and feel for graphical applications. As long as they both fight for mindshare, that won't happen! I really hope at some point in time, one or the other surrenders, and concentrates their efforts on taking the useful innovations they have and putting them into the other, so we can all get on with things.

    If you really want Linux to replace Windows, stop arguing over petty differences and work together to build an OS that truly offers all the advantages that Windows currently offers.

  8. Re:Forking is a double-edged sword, both edges cut by Tom+Christiansen · · Score: 4
    Today, the different Linux distros can cause a headache for people dealing with product installation issues, usually with scripts. This isn't so bad because most UNIX people are already used to that. But it does scare off software companies. Think about it, for Windows, you just buy InstallShield or Wise and most of the problems of OS differences are taken care of. Not true for Linux today.
    You've definitely hit the nail on the head there. For all the ivory-tower surrealistis repeat their myth about linux=o/s=kernel, the stark reality is that those who must produce, test, distribute, install, and administrate regular software applications (not drivers) have absolutely no choice but to count most of the innumerable different Linuxes out there as different operating system. Self-serving sophistry aside, these people all have real work to do, and they can't get it done by pretending there is one coherent thing called "the Linux Operating System". Sure, there's a Linux kernel, but this is but a small part of the many significant platform considerations that producers and consumers of applications must keep aware of.

    And yes, it makes this stuff hard, because it becomes a combinatoric nightmare. If people would

    1. stop repeating this nonsense of there being One True Linux
    2. recognize that the vendors like Redhat, Corel, SuSE, and all the rest of them will always try to differentiate themselves from one another
    3. admit that for all the intents and purposes of people who are making and installing these applications, it is for them a different OS
    If those steps could happen, then perhaps progress can be made. I don't think that they will be, however, because too many people have too much ego wrapped up in the myth. Which is a crying shame, because defining a problem out of Platonic existence rather than admitting its reality and repercussions helps nothing but the propaganda machine. It interferes with real people trying to get real work done. And it's so obviously a half-truth as to make plenty of folks look a lot more closely at other assertions held as Gospel.