Slashdot Mirror


License for Open-Source Software w/ Plugins?

ThiagoHP asks: "I have developed MultiMAD, a rapid application development and prototyping for for mobile devices in my master's course, and now I want to share it with the community. It's written in Java and it has a plugin architecture in order to support different mobile device platforms (WAP, J2ME, PalmOS, etc). I want to give the freedom to anybody write their plugins, even closed-source, as long as the tool itself is not modified for them to run. This implies that GPL cannot be used. At the same time, I do not want any closed-source tool based in MultiMAD code, so licenses such as the Apache one cannot be used. Am I right in my assumptions regarding licenses? What license do you suggest?"

91 comments

  1. Introductions are in order... by Seumas · · Score: 1

    Have you met this guy?.

    1. Re:Introductions are in order... by ThiagoHP · · Score: 1

      It's interesting as three guys at my university (Universidade Federal de Minas Gerais, Belo Horizonte, Brazil) were in the same situation as that guy. One already finished his project and implemented a PalmOS application generator (plugin). One is making a WindowsCE generator and other is still defining what he wants to do.

  2. LGPL by A.K.A_Magnet · · Score: 5, Informative

    That's exactly what the LGPL is for.

    Derivative of your code will be in LGPL, but code linked to it (as plugins or using it as a library) have no license requirement.

    Check it out

    1. Re:LGPL by NotoriousQ · · Score: 3, Insightful

      Even better is to split the program into two parts. LGPL the core, and GPL the interface.

      --
      badness 10000
    2. Re:LGPL by thegrassyknowl · · Score: 1

      Nothing stops you from adding your own clauses to the GPL that allow plugins to take on whatever license they want, as long as they do not use any GPL code. You'd also have to provide a self-contained header (ie one that doesn't call on any GPL'd parts) and wrap up the whole interface in there. Then you'd need to make a GPL exception in your derived license code containing your interface header. It's all too hard!!!

      The LGPL will do this to the same effect. Plugins are dynamically linked libraries (much like the libc). The only difference is that you control the loading and linking from your program flow rather than letting the system linker do it.

      --
      I drink to make other people interesting!
    3. Re:LGPL by SpaceLifeForm · · Score: 1
      But, where does the 'core' end, and the 'interface' begin?

      Can you really divide it so cleanly?

      Are there not interfaces between all of the layers?

      --
      You are being MICROattacked, from various angles, in a SOFT manner.
    4. Re:LGPL by malachid69 · · Score: 1
      I want to give the freedom to anybody write their plugins, even closed-source, as long as the tool itself is not modified for them to run...At the same time, I do not want any closed-source tool based in MultiMAD code

      That's exactly what the LGPL is for.

      That's a good question. The first sentence leads me to think he doesn't want ANYONE to modify his code, which LGPL would not be good for. The second sentence seems to imply he just doesn't want closed-source modifying his tool, which LGPL would be good for.

      So, IF you don't mind if open-source projects make derivatives of your tool, do LPGL.

      IF you would rather people are able to use your tool for free, but you don't want them modifying it no matter who they are, sounds like you don't want open source but proprietary.

      --
      http://www.google.com/profiles/malachid
    5. Re:LGPL by NutscrapeSucks · · Score: 1

      This would only work if you distributed the two parts seperately. Because once LGPL code is combined with GPL, the LGPL part gets promoted to GPL and you are back where you started.

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
    6. Re:LGPL by VStrider · · Score: 1

      No. He doesn't want any derivitive from his project to be used on a closed source project. The LGPL allows this.
      What he wants is GPL. With GPL people can even make closed source plugins because they are not derivitive works. Also the GPL makes sure that derivitive projects will stay free and open source.

      So the GPL is exactly what he needs.

      --
      VStrider.
    7. Re:LGPL by Mr+Z · · Score: 1

      Huh? Aggregation means nothing. You can say "The stuff in src/libfoo is LGPL and the stuff in src/appbar is GPL" just fine. I mean, just look at any Linux distribution, with its combination of GPL, LGPL, BSD, public domain, and proprietary software, all within the same CD(s).

      Swinging back on topic, GPL would be a fine license for submitter's app. GPL covers redistribution. If the plugins are distributed separately of the application, then there's no issue. If you need special header files or whatever Java uses to expose the interface, then make those public domain and separate.

      --Joe

    8. Re:LGPL by nacturation · · Score: 1

      With GPL people can even make closed source plugins because they are not derivitive works.

      Is the reverse true? Can you have a closed source app with GPL plugins? At what point in "linking" does the viral nature kick in?

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    9. Re:LGPL by DickBreath · · Score: 1

      Do not modify the GPL text. Do not add your own clauses to it.

      You cannot modify the text of the GPL document. The GPL license document text is a copyright work, with a copyright notice on it. The GPL license text is Copyright by the FSF.

      If you create a license that is a very slight modification to the GPL, then you have created a derrivitive work of the FSF's text, requiring their permission. If you create your own license that is almost identical to the GPL, then you probably infringe on the FSF's copyright to the text of the GPL.

      Do not modify the GPL text. Do not add your own clauses to it.

      Instead, license under the GPL, but with your own exceptions granting permissions that the GPL would not otherwise give you.

      i.e. Program FOO is licensed under the GPL. In addition, I FOO-AUTHOR, give everyone permission to run FOO in combination with plugins that do not fall under the scope of the GPL. Define exactly what a Plugin is. Note that anyone who creates a derrivitive work of FOO may choose to pass along this extra permission with their derrived work.

      Alternately, license under the LGPL. In this case, it needs to be clear exactly how a "library" is defined.

      --

      I'll see your senator, and I'll raise you two judges.
    10. Re:LGPL by thegrassyknowl · · Score: 1

      You cannot modify the text of the GPL document. The GPL license document text is a copyright work, with a copyright notice on it. The GPL license text is Copyright by the FSF.

      Where did you come up with this?

      You are allowed to use all of the GPL terms without the preamble, see here.

      --
      I drink to make other people interesting!
    11. Re:LGPL by DickBreath · · Score: 1
      Thanks for your link to the FAQ.

      In answer to your question, I was going by the fact that this copyright notice....
      Copyright (C) 1989, 1991 Free Software Foundation, Inc.
      appears ahead of both the preamble and the main license text. Thus the entire text is a protectable work with a valid copyright notice. Personally, I would not modify and republish some existing copyrighted text without some clear permission or clear legal advice that I could do so.

      Here is one can of worms for instance. The GPL is an exhibit in SCO vs. The World. Most of the filings and exhibits are available from the court. Can text that is part of court filings be copyrighted? If not, then can I just copy and use GPL text because I found it in one of the exhibits filed in the case?
      --

      I'll see your senator, and I'll raise you two judges.
    12. Re:LGPL by thegrassyknowl · · Score: 1

      n answer to your question, I was going by the fact that this copyright notice....

      True, but any GPL'd work includes a copyright notice from the author as well. Having a copyright does not mean you are not allowed to change and redistribute; and the GNU/FSF is about freedom :)

      Can text that is part of court filings be copyrighted?

      Having the text listed as an exhibit does not change the fact that the FSF holds the copyright on the GPL. There are various parts of SCO code that were called as exhibits that are not available publicly through the court. SCO pulled some sort of trade secret garbage to avoid having to disclose them.

      That was the whole reason that the SCO/Linux thing became such a big affair; SCO were making bold claims that Linux stole their code, but they wouldn't produce the original code and changeset logs to back up their claims.

      --
      I drink to make other people interesting!
    13. Re:LGPL by VStrider · · Score: 1

      Yes the reverse is also true, as long as these plugins/projects are not derivitive projects of the closed source project. Example of this: MS windows is closed source. There are many ports of GPL projects to windows and that's ok cause these projects are not derivitive but they are using a public interface, eg. they could be using the win32 api.

      If however you modify/enhance the win32 api in some way, then you cannot redistribute it at all cause it's closed source which belongs to MS. Though with GPL projects if you modify/enhance a project you are free to release it as long as you distribute the source as well. This is alot better than the closed source alternative (no release at all) and also ensures that a free open source project stays this way.

      --
      VStrider.
  3. The GPL is fine. by dalutong · · Score: 1

    The GPL is fine. They will not be able to make commercial applications based off of your code, and they can make all the plugins they want, closed or open source, so long as they don't modify the host application's (MultiMAD's) code.

    Thank you for your contribution.

    --

    What comes first, finding a teacher or becoming a student?
    1. Re:The GPL is fine. by Craigj0 · · Score: 1

      This is wrong. Any plugins that are loaded by a GPL program must be GPL.
      http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlu gins

    2. Re:The GPL is fine. by Stevyn · · Score: 1
      um...from the link:



              It depends on how the program invokes its plug-ins. If the program uses fork and exec to invoke plug-ins, then the plug-ins are separate programs, so the license for the main program makes no requirements for them.


              If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins. This means the plug-ins must be released under the GPL or a GPL-compatible free software license, and that the terms of the GPL must be followed when those plug-ins are distributed.


              If the program dynamically links plug-ins, but the communication between them is limited to invoking the `main' function of the plug-in with some options and waiting for it to return, that is a borderline case.


      so basically it depends on the program and it's not always going to require being licensed under the GPL.

    3. Re:The GPL is fine. by ceejayoz · · Score: 1

      You don't have to use the stock GPL text.

      Anyone can modify the GPL to make their own similar-but-slightly-different version. You could make a version of the GPL that forbids Microsoft to use the code in any ways, for example.

    4. Re:The GPL is fine. by mysidia · · Score: 1

      Except that the GPL license itself is copyrighted:
      http://www.gnu.org/licenses/gpl.txt

      Copyright (C) 1989, 1991 Free Software Foundation, Inc.
            51 Franklin St, Fifth Floor,
            Boston, MA 02110-1301 USA
      Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

    5. Re:The GPL is fine. by ceejayoz · · Score: 1

      Then add it as an addendum or appendix.

      (as a side note, that notice seems rather strange given the point of the GPL... heh... doesn't RMS know that information wants to be free?)

    6. Re:The GPL is fine. by mbogosian · · Score: 1

      Except that the GPL license itself is copyrighted:....

      That just means you can't call it "GPL". You can come up with a very similar license (perhaps even a nearly identical one), but you can't claim it belongs to or was written by the FSF.

      Of course, technically (at least I think, IANAL), licenses are just like any other work (subject to the same copyright and derivative work protections), but I doubt RMS or the FSF is going to sue someone who changes the GPL to meet their needs and calls it something else.

      But I've been wrong before....

    7. Re:The GPL is fine. by NutscrapeSucks · · Score: 1

      Actually what they say:

      If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program,

      Which is GNU-code for "we want to believe this despite what our lawyers may have told us".

      Regardless, if the main GPL program (Firefox) and the Plugin (Macromedia Flash) are distributed seperately and combined on the end-user's machine, there is simply just not a copyright violation to be found.

      That someone chose the GPL does not limit my freedom to "form a single program" with whatever the hell I want, on my own computer.

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
    8. Re:The GPL is fine. by joto · · Score: 1
      Actually, you can't. The GPL specifically disallows adding limitations to the license. See paragraph 6 and 7. The only exception for this is paragraph 8.

      You can, however, add a clause to give the recipient more rights.

    9. Re:The GPL is fine. by joto · · Score: 1
      That just means you can't call it "GPL".

      Nope, it doesn't mean that. That would be the case if it was trademarked. When it's copyrighted, it means that you can't take the license text and redistribute and/or change it without the authors permission.

      The copyright of the GPL does not allow you to make changes to it. Period. End of discussion.

    10. Re:The GPL is fine. by ceejayoz · · Score: 1

      Then open a new document, rewrite everything so you're not violating copyright while retaining the exact same spirit of the GPL, and add on your restriction.

      You can copyright a legal license, but you can't copyright "anything giving GPL-like freedoms".

      The point is, if you don't like what the GPL lets people do, release it under a license more acceptable to you. Add in an addendum and operate under the (probably safe) assumption that the FSF won't come charging you with copyright violation. Rewrite it in your own words. What-the-fuck-ever.

      No one should release code under the GPL if the GPL terms are unacceptable to them. That's idiotic. Anyone publishing code and then whining about people using that code ENTIRELY WITHIN THE TERMS OF THE LICENSE should be kicked in the teeth.

    11. Re:The GPL is fine. by joto · · Score: 1

      Then we agree...

    12. Re:The GPL is fine. by DickBreath · · Score: 1

      The GPL is fine. They will not be able to make commercial applications based off of your code....

      Anyone CAN make commercial applications out of a GPL program. (MySQL) They just have to comply with the GPL. The GPL does not restrict the act of selling the application for any amount of money. It just requires that the source code must be included, and that you may NOT charge anything beyond the cost of copying, for the source code.

      I bought a TiVo with a Linux kernel in it. I paid actual money for the entire device, including Linux. TiVo may not charge me beyond the cost of copying to obtain the source code. The only way you're going to get a copy of the binary is to buy a device from them.

      Linksys sells a device with an embedded Linux. They can't charge beyond the cost of copying to obtain the source code.

      SuSE sells a box with GPL'ed programs, including source code in the box. Once you buy the box, you pay zero extra dollars for a copy of the source code.

      --

      I'll see your senator, and I'll raise you two judges.
    13. Re:The GPL is fine. by chemistry · · Score: 0

      I think you hit the nail on the head. I love OSS software but people are taking this fanaticism to far. If you want to create a peice of software that has zero chance of being used commercially just put a line in your license that says.

      You may not use this program to build other commercial programs.

      Done.

  4. I'm no expert, but by rednip · · Score: 1

    The GPL is only one way which a copyright holder may expose his work. If it's all your own original work, you can publish the interfaces under a less restrictive license, while still doing the GPL for the 'base' code.

    --
    The force that blew the Big Bang continues to accelerate.
  5. Tried and tested by oliverthered · · Score: 1

    He could use the GPL variant that the Linux kernel uses that explicitly allows binary modules.

    --
    thank God the internet isn't a human right.
    1. Re:Tried and tested by Trepalium · · Score: 2, Interesting

      The Linux kernel does not explicitly allow binary modules. This is a commonly repeated myth. Please see Linus's posting on LKML for the truth behind this.

      --
      I used up all my sick days, so I'm calling in dead.
    2. Re:Tried and tested by oliverthered · · Score: 1

      Ok, I actually read /usr/src/linux/COPYING....

        Please see Linus's posting on LKML for the truth behind this.

      I think you should see abstraction filtration comparison along with the fact that the GPL is a copyright license to work out what's a derived work or not and not relly on legal advise from someone who's not a lawyer (Yes and IANAL!!)

      --
      thank God the internet isn't a human right.
  6. Software freedom requires modification rights. by jbn-o · · Score: 2, Insightful

    The poster wants to deny users the freedom to modify the MultiMAD program ("[...] as long as the tool itself is not modified for them to run"). Thus, MultiMAD is to be licensed under a non-free license.

    The GNU GPL is a free software license; it allows users to modify the licensed program and to distribute those modified versions.

    They will not be able to make commercial applications based off of your code, and they can make all the plugins they want, closed or open source, so long as they don't modify the host application's (MultiMAD's) code.

    The GPL is not anti-commercial software development, it's pro-free software development and distribution. The moment a GPL'd program is used in a business context (such as distributing copies of GPL'd programs for a fee), that program becomes "commercial". Commercial and non-free are not the same thing. Not being able to change MultiMAD means denying users a freedom they ought to have. The GPL denies users the ability to distribute non-free derivatives. These are not the same issues and there's a good reason why the GPL does this--in order to preserve software freedom for derivatives, there had to be a choice between what was valued more and the FSF values giving more users software freedom.

    1. Re:Software freedom requires modification rights. by Anonymous Coward · · Score: 0

      You have to read it in context. The clause you quoted pretty obviously refers to people modifying the main program in order to get closed source plugins working. He wants to allow GPL like contributions to the program the rest of the time.

    2. Re:Software freedom requires modification rights. by jbn-o · · Score: 1

      It seemed to me that the program was not to be modified in order to make any plugin run, if that is so, that would constitute a non-free program:

      It's written in Java and it has a plugin architecture in order to support different mobile device platforms (WAP, J2ME, PalmOS, etc). I want to give the freedom to anybody write their plugins, even closed-source, as long as the tool itself is not modified for them to run.

      Perhaps the poster should be more clear about what is to be allowed.

    3. Re:Software freedom requires modification rights. by ThiagoHP · · Score: 1

      You're right: I have not made myself clear at this point. I really do not want my code to be modified in order to make any plugin run, as this would make plugins work with a MultiMAD fork and not with the original one. I also think that plugins that need modifications in the tool are not really plugins.

      I prefer not to have any MultiMAD fork. Instead, I would be very happy to hear what features people want and implement them myself.

    4. Re:Software freedom requires modification rights. by ThiagoHP · · Score: 1

      You took my words out of context. Yes, I would prefer to not have any MultiMAD forks, but I can live with that, so it would be free software. On the other hand, what I definetely want to forbid is plugins that need to fork MultiMAD to run.

    5. Re:Software freedom requires modification rights. by jbn-o · · Score: 1

      Just a few minutes before making the parent post, you said I was right and that you hadn't made yourself clear. Now you're saying I'm taking your words out of context. That is confusing because you're addressing the same issue--granting users the freedom to modify MultiMAD for plugins.

      Yes, I would prefer to not have any MultiMAD forks, but I can live with that, so it would be free software. On the other hand, what I definetely want to forbid is plugins that need to fork MultiMAD to run.

      Users can't have it both ways. Either users have the freedoms of free software or they don't. They don't have free software if they are forbidden to change MultiMAD for a particular purpose.

      Perhaps you would benefit from spending some time reviewing why free software is important (I suggest the many essays at www.gnu.org/philosophy/). I suggest this because I think after some time collecting your thoughts you will recognize that your fork of MultiMAD serves the users best when it can compete with the other forks out there. You might even discover that users appreciate cooperative developers and welcome programs which are licensed to share and modify. The GPL would be fine for this task because it will increase the chances you have to incorporate any distributed derivative of MultiMAD into your fork.

      Happy hacking.

    6. Re:Software freedom requires modification rights. by ThiagoHP · · Score: 1
      That is confusing because you're addressing the same issue--granting users the freedom to modify MultiMAD for plugins.
      You're still wrong: we are not addressing the same issue and I do not want to grant users the freedom do modify MultiMAD for plugins. I want to grant them the right to make plugins, under any license they want, but without modifying my code for it. ;)

      Supposing that MultiMAD becomes a success, I can't see how forks would be good for users, as they would be incompatible among them and then the user would need MultiMAD A for using one plugin and MultiMAD B for another.
      Users can't have it both ways. Either users have the freedoms of free software or they don't. They don't have free software if they are forbidden to change MultiMAD for a particular purpose.
      And yes, I know the GNU philosophy, but, as other people here already pointed out, not only the Richard Stallman concept of free software exists or is the right one.
    7. Re:Software freedom requires modification rights. by bhtooefr · · Score: 1

      In other words, you don't want an open source license.

      You want a shared source license, like what MS uses for lots of stuff.

      Note that that's not necessarily a bad thing, although if someone finds MultiMAD useful in the future, but it needs x feature that can't be added by a plugin, and you've stopped supporting it, they can't fork it when it's necessary.

    8. Re:Software freedom requires modification rights. by chemistry · · Score: 0

      I must agree with you here. RS and FSF are not the only opinions in town. I think that it is great that you want to develop a peice of software to give away for free. I also respect your right to choose how it is used by others. Same as I respect other commercial venders (myself included). Oh and yes I have contributed to open source projects. But I (not someone else) will determine the philosophy that I live by. Cheers to you and thanks for the contribution. Oh BTW I think you should just change the license to something that fits your needs instead of looking for a preexsisting one.

  7. That or by hummassa · · Score: 3, Insightful

    license your code under the GPL, and grant an additional exception that plugins can be proprietary. It would work, too... supposing the GPL really forbids dynlinking to proprietary modules, which is disputed.

    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
    1. Re:That or by Bogtha · · Score: 1

      license your code under the GPL, and grant an additional exception that plugins can be proprietary.

      This is exactly what Linus Torvalds did with the Linux kernel. The kernel is GPLed, and an exception is granted for proprietary kernel modules.

      --
      Bogtha Bogtha Bogtha
    2. Re:That or by nathanh · · Score: 1
      This is exactly what Linus Torvalds did with the Linux kernel. The kernel is GPLed, and an exception is granted for proprietary kernel modules.

      There is no such exception. Linus has already clarified this (more than once).

      Well, there really is no exception. However, copyright law obviously hinges on the definition of "derived work", and as such anything can always be argued on that point.

      I personally consider anything a "derived work" that needs special hooks in the kernel to function with Linux (ie it is _not_ acceptable to make a small piece of GPL-code as a hook for the larger piece), as that obviously implies that the bigger module needs "help" from the main kernel.

      Similarly, I consider anything that has intimate knowledge about kernel internals to be a derived work.

      What is left in the gray area tends to be clearly separate modules: code that had a life outside Linux from the beginning, and that do something self-containted that doesn't really have any impact on the rest of the kernel. A device driver that was originally written for something else, and that doesn't need any but the standard UNIX read/write kind of interfaces, for example.

      I hope that makes it clear. There is no exception however Linus does not personally consider some modules to be derived works.

    3. Re:That or by cortana · · Score: 1
      I expect this has been debated to death elsewhere, but:

      'I personally consider anything a "derived work" that needs special hooks in the kernel to function with Linux (ie it is _not_ acceptable to make a small piece of GPL-code as a hook for the larger piece), as that obviously implies that the bigger module needs "help" from the main kernel.'


      Doesn't that precicely describe Nvidia's graphics driver? A GPL'd stub that wraps a huge proprietry blob of code?
    4. Re:That or by nathanh · · Score: 1
      I expect this has been debated to death elsewhere, but:

      You are right, the nvidia driver has been debated to death on LKML :-) Here is Linus personal opinion on that matter.

      So in order for nVidia to be able to legally distribute a binary-only kernel module, they have to be able to feel damn sure that they can explain (in a court of law, if necessary) that the module isn't a derived work. Enough to convince a judge. That's really all that matters. Our blathering matters not at all.

      Now, personally, I have my own judgment on what "derivative works" are, and I use that judgement to decide if I'd complain or take the matter further.

      And so _I_ personally think some binary modules are ok, and you've heard my arguments as to why. That means that _I_ won't sue over such uses, since in my opinion there is no copyright infringement IN THOSE CASES due to me not considering them derivative.

      Other members on the list disagreed with Linus. Though as Linus has said, the only opinion that matters is that of the judge.

    5. Re:That or by aminorex · · Score: 1

      > the only opinion that matters is that of the judge.

      If they've got enough money to burn on barratry, the only opinion that really matters is that of the man paying the lawyers, because it is not difficult to ruin someone using the court system, if you have the veeriest shred of a pretext in law, and an overwhelming warchest.

      --
      -I like my women like I like my tea: green-
  8. It's not a GPL variant. by hummassa · · Score: 3, Informative

    Linux is a massively complex work when the subject is copyright. Basically, the kernel as a whole is GPLv2, and Linus (who has the copyright on a lot of code and has indirect copyright on almost the whole kernel [much kernel code which is not his is still derivative on his original linux v0.01]) says he -- like other intelligent people -- do not consider the FSF GPL FAQ as correct about linking (especially dynalinking) and the GPL.
    IOW: when you GPLv2 some code, you are probably granting the right to dynalink proprietary modules to your work. Linus only stated this explicitly, thus estopping himself from suing anyone (nVidia?) who makes proprietary loadable kernel modules.

    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
    1. Re:It's not a GPL variant. by oliverthered · · Score: 2, Interesting

      'when you GPLv2 some code, you are probably granting the right to dynalink proprietary modules to your work.'

      Yep, I agree google for 'Abstraction, Filtration, Comparison' and you should have no doubt that dynamic linking and GPLv2 are ok. This guy is obviously worried that the GPL doesn't allow linking (as many people seem to be) so I advised that he use the GPL with a clause that allows for plugin modules.

      The kernel license says...

      "NOTE! This copyright does *not* cover user programs that use kernel
        services by normal system calls - this is merely considered normal use
        of the kernel, and does *not* fall under the heading of "derived work".

      I think it would be ok for the person who asked the question to put a similar clause in his license and use GPL.

      --
      thank God the internet isn't a human right.
    2. Re:It's not a GPL variant. by SpaceLifeForm · · Score: 1
      Let's not compare apples and oranges. Linus made an exception for binary only modules, but that exception only applies to the Linux kernel.

      In this case, the question applies to a userland application, and I would agree that LGPL would be a suitable license as A.K.A Magnet wrote.

      --
      You are being MICROattacked, from various angles, in a SOFT manner.
  9. LGPL by Anonymous Coward · · Score: 0

    Your situation is exactly why the LGPL was written.

  10. Yes you can... by joto · · Score: 4, Informative
    Here's how you word it:

    This software is licensed under the General Public License (GPL), version 2 (see below for the full text of this license). As a special exemption, software plugins using the documented plugin API for this software, will be allowed to be distributed and/or run-time linked with this software regardless of their license.

    [Explain the plugin API, or where to find the "documented" parts of it]

    [Full text of GPL]

    1. Re:Yes you can... by zero-one · · Score: 1

      This is a good solution but remember to be careful about how you control the API definition (as I think the parent post is suggesting). If you are not careful, a user could use your software in a way that you don't approve of by changing the API to expose the parts of the program they want to use. If you lock down the API to much, you might limit what changes you (or other developers) could make in future versions (for example, if the API was in the license and other users has contributed code based on that license, you may need their approval to change the license to extend the API).

    2. Re:Yes you can... by joto · · Score: 1

      The obvious choice is to lock everything down as much as possible. And then add stuff to the API by request. The "allowed" parts of the API can easily be described with one sentence, e.g: "Only the functions and global names having names starting with 'myprog_plugin_api_' are allowed to use in plugins that are not released under the GPL".

    3. Re:Yes you can... by zero-one · · Score: 1

      What would stop a malicious user putting a wrapper around really_cool_internal_function() called myprog_plugin_api_hack_internal_function()? They might have to share their wrapper functions but they still get access to the bits they want.

    4. Re:Yes you can... by joto · · Score: 1
      What would stop a malicious user putting a wrapper around really_cool_internal_function() called myprog_plugin_api_hack_internal_function()?

      You are right. Since the program itself is GPL, they can create a fork, and modify it all they want. Hmmm... this is tricky to get right. Even if you explicitly list the allowed functions in the license, there is nothing preventing them from changing one of them (that they don't need), to do something else.

      I think the only solution to this problem is to only use the exception on the "official" release. Any derived works will be GPL only. I'm not really sure if the GPL allows that. But you can always dual-license, one of the licenses being GPL, and the other being one that allows plugins, but no modifications.

      Now, if lightning should strike you, and you are suddenly unable to release further official versions, all later releases will be GPL only. This may or may not be what you want. If it's not what you want, arrange whatever you want to happen with a law-firm as part of your will.

  11. Just don't sue people who write closed plugins by Anonymous Coward · · Score: 3, Insightful

    Uhm, the GPL doesn't control your app, YOU do. Here's what you can do.

    #1) place the GPL in a file called "GPL".

    #2) Place the following text in a file called "COPYING":

    This program is copyright XYZ and can be distributed under the terms of the GPL (see the file "GPL") plus the following exception: any plugins written for this application are expressly exempt from any obligations required by the GPL. You must include this entire paragraph in any copies you make of this application.

    Jeezuz people, it's YOUR application, you can license it any way you want! You can make it GPL on Tuesdays and MIT on Saturdays. This isn't rocket science, RMS doesn't control your app, you don't assign copyright to the FSF, a little bearded man doesn't pop out of your screen if you choose not to sue people who make closed-source plugins. The GPL doesn't enforce your copyright, YOU DO!

    1. Re:Just don't sue people who write closed plugins by Anonymous Coward · · Score: 0

      Technically, you can't add any restrictions such as that to be GPL-compatible. Leave off that last sentence and it should be GPL-compatible, however.

    2. Re:Just don't sue people who write closed plugins by Geoffreyerffoeg · · Score: 1

      You can make it GPL on Tuesdays and MIT on Saturdays.

      You could, but someone can relicense it as GPL on Saturdays and MIT on Tuesdays, since GPL and MIT by themselves don't have restrictions.

      You can always grant extra rights. You can't easily add extra conditions, though, unless you say that "This app is almost licensed under the GPL, except that you may not do foo, and when you redistribute the program, you must redistribute it under the terms of the GPL with this fooless clause." And even so, I'm not sure if that would work, because other sections in the GPL may cancel that. You're better off writing your own license (possibly taking the GPL as inspiration, but that may not even be legal since AFAIK the GPL is copyrighted and not freely changeable).

      Besides, adding clauses prevents you from grafting it with standard GPL programs. All this is moot for the submitter's purposes, though...all you want is the GPL with an extra permission for nonFree plugins.

    3. Re:Just don't sue people who write closed plugins by usrusr · · Score: 1

      Sure. Unless you are building on top of some other GPLed code.

      There might be some rare cases where the latter does not apply.

      --
      [i have an opinion and i am not afraid to use it]
    4. Re:Just don't sue people who write closed plugins by DickBreath · · Score: 1

      the GPL doesn't control your app, YOU do. it's YOUR application, you can license it any way you want!

      Hi, my name is Darn McBribe. I really like your GPL'ed program FOO. I'm going to modify one line of the source code of FOO, thus creating a derrived work. Now I'll release my work and wait for people to use my "improved" version.

      (Actually, I might make some minor, or even worthy improvements -- in order for this scam to work.)

      My improved version of FOO is also under the GPL, since your original FOO was under the GPL.

      Now people are using FOO with my modifications.

      I make a list of everyone using binary only plugins with improved FOO. (Improved FOO is strictly licensed under GPL.)

      Send everyone threatening letters. They are infringing my copyright to the improvements I made to FOO. I released my improvements under the GPL and I meant it! Everybody using FOO-improved better send me $699 per cpu!

      Write a letter to every single member of congress explaining that the GPL is unconstitutional.

      Profit!



      Moral of the story: you may not sue people for doing things in violation of the GPL's conditions, but I just might!



      This program is copyright XYZ and can be distributed under the terms of the GPL (see the file "GPL") plus the following exception: any plugins written for this application are expressly exempt from any obligations required by the GPL. You must include this entire paragraph in any copies you make of this application.

      This won't work either.

      You can distribute FOO under the GPL plus additional permissions. (The word License is always interchangeable with the word Permission.) You may NOT distribute FOO under the GPL with additional restrictions.

      For instance, I distribute FOO under the GPL, plus you have additional permission to do X, and Y and Z that the GPL would not have allowed.

      You cannot say: I distribute FOO under the GPL, but I place additional restrictions or requirements P, Q and R upon you that the GPL would not have required. How can I require you to distribute some paragraph with the software? I could remove said paragraph, or even the COPYING file, which are not part of "the software".

      Questions I am unsure of:

      1. Does the COPYING file have any force of law? I can see it giving you additional permissions, but not placing restrictions beyond those of the GPL?
      2. Is the COPYING file part of "the software"? Must I distribute it? I can pick and choose any other portion of the software to distribute separately under the GPL. Why not distribute all of the source, but without the COPYING file (assuming that it even is part of the "software")?

      --

      I'll see your senator, and I'll raise you two judges.
  12. GPL + barrier by vlad_petric · · Score: 2, Insightful

    If you specifically say that use of the plug-in API does not make the plug-in a derived work, then you should be alright. A similar case is, interestingly enough, the linux kernel. While modifying the kernel is derived work, making syscalls from userspace does not make the user program a derived work. Besides the kernel/user space barrier, there's also a subset of kernel functions that are effectively GPL barriers (so some modules don't need to be GPL)

    --

    The Raven

  13. GPL is the right license by Pope+Raymond+Lama · · Score: 2, Informative

    Since you own the copyright to your code, you can add an exception to the GPL that exempts plug-ins from being GPL compatible.

    Read the GPL FAQ on www.gnu.org to undertand this better. The GIMP itself uses |GP in this way, since there are non-free plug-ins for it.

    --
    -><- no .sig is good sig.
  14. A truly shocking suggestion by petrus4 · · Score: 2, Interesting

    What about using (*lowers voice to a whisper*) the BSD license? (*hears gasps of horror coming from the audience*)

    Before the GPL zealots come screaming out of the woodwork on this one, there's something they (and you) should know. The BSD license actually includes a copyright notice. Have a look at it and see. For FreeBSD as an example, the copyright is held by the CSRG.

    That means that in using it as a license, you don't actually surrender your copyright. (Unlike certain FUD which is spread by individuals who remain nameless states) You don't get a patent, no...but you *do* get copyright, in the originally intended sense of the word. This to me is a demonstration of why the GPL *is* both unnecessary and repressive, despite claims to the contrary.

    What you get the copyright to is your own work; what you're giving other people is the right to make *derivative* works. They get copyright on derivative works, yes...but they don't get the copyright on your work itself. So if you wanted to, you could use a non-viral license (the BSD license is only one option...www.opensource.org lists many) without having to assume that you're automatically putting your work in the public domain.

    My single biggest objection to Richard Stallman is that I believe that *his* philosophy is the only acceptable one. To me the use of the phrase "GPL compatible" in particular sounds a lot like the campaign Microsoft had a number of years back where they were certifying things as "Windows compatible" or "made for Windows 95."

    Stallman claims to be about freedom...but look closer. What he's really about is forming a cultural/social movement with himself at the head. That isn't anywhere near as much about freedom as it is about agreeing with whatever he decrees.

    1. Re:A truly shocking suggestion by petrus4 · · Score: 1

      >My single biggest objection to Richard Stallman is >that I believe that *his* philosophy is the only >acceptable one.

      swap "I believe" with "I believe he thinks"

    2. Re:A truly shocking suggestion by pcause · · Score: 1

      I agree with the comments about GPL, Stallman and many of the GPL supporters. They simply refuse to underatand different philosophies. I prefer the apache license and think it or the BSD license are the true "free" software licenses.

      Expect such somments here on /. to get mod'ed down becuase of the stong presence of GPL supporters.

    3. Re:A truly shocking suggestion by DickBreath · · Score: 1

      They simply refuse to underatand different philosophies.

      Stallman is not stupid. I think he understands different philosophies. I think he just does not agree with them.


      I prefer the apache license and think it or the BSD license are the true "free" software licenses.

      Stallman and other GPL proponents define "free" differently than you do.


      Myself, I use whatever license reflects my intentions for a particular purpose.

      --

      I'll see your senator, and I'll raise you two judges.
    4. Re:A truly shocking suggestion by pcause · · Score: 1

      GPL is a business model, not freedom. It says that instead of paying license fees to use somehting, I must pay in labor and nothing I do, short of starting from scratch, even if I add 99% of the future value, changes this. How is this "free"? There is an ongoing payment, just labor instead of money.

      Apache or BSD say "Take it and do what you want". Now that sounds like free to me.

  15. I'm very interested to see what ppl say!! by cdn-programmer · · Score: 1

    The licensing issues themselves are interesting. One of the things copyright does is allow you to control derivative copies. However there is always the fair use doctrine and the right to use material in a parody.

    I think the Pilsbury dough boy was caught up in this a few years ago and I have not heard what came of Pilsbury's attempts to stop the "XXX" version(s).

    Then there is the issue of adoption. Why would a developer choose to lock himself (herself) into any closed source product if there is a better solution. I'll illustrate this as follows.

    When you develop against a class library you tie yourself to the library. For this reason I personally have abandoned IBM's Visual age compiler, Microsoft's Visual compiler and indeed Borland's Builder series, even thought I bought them.

    Abandoning Borland hurts. They have a good product. But it looks as if Borland is abandoning support for C++ at the moment. They may change their minds.

    While I looked at QT and note it is excellent - my choice has to be WxWidgets. The licencing is a MAJOR issue. I can use WxWidgets in open source, closed source and proprietary products.

    I do know that many people think the QT license is fine. Perhaps for them it is. One weighs the strengths of a license against its restrictions.

    Now as a developer I have faced the same problem many times. If one developes a library one can become far more productive. The problem is most employers want to own what their employees produce and most consultants are not willing to spend literally years trying to develop a custom library for each client. Its a no win situation for several reasons: (1) Its a waste of time and (2) it creates a maintenance nightmare.

    This being said. The opensource soulution neatly addresses both issues. So what happens in the specifics of the requirnments posted above is quite interesting!

    However I do know that there is a very large percentage of programmers who do not think about this. In my career, I have seen at least 8 duplicated "sort" routines. This does not include the ones which are simply cut-paste-hack. To me it is amasing so many programmers are willing to justify creating literally dozens of virtually identical functions - but each with a different tweak and each of which next needs to be maintained... and what if a bug is found in the original?

    I'm also amased that managment puts up with this.

    Furthermore I am amased that programmers who do this often use some of the worst algorithms available - and then justify this by saying its "good enuf".

    Now consider. In the case of a "sort" - under the LGPL is an excellent implementation of both a quick sort and a red-black tree which can also be used to sort. So why would ANY programmer worth his salt waste his time re-inventing the wheel. And why would an employer spend literally $1000's of bux to pay a programmer to debug an inferior algorithm when there is already a fully debugged ready to use general purpose implementation available? It certainly isn't a licensing issue.

    When we get answers to these questions then maybe I'll have an answer both how to address your issues and how the developer community is going to receive any license you manage to come up with.

    1. Re:I'm very interested to see what ppl say!! by SolidGround · · Score: 1

      Free source code that's available on the internet is no different than any other commodity: take it with a grain - and preferable a whole block - of salt.

      There have been dozens of times where I thought "surely someone must have done this before" and then wasted quite a bit of time hunting it down. In some cases I simply couldn't find it (search engines yield irrelevant hits most of the time) and in the cases where I did I still had to spend a great deal of time looking through unfamiliar code with a fine comb to see if it wasn't leaky and bug-ridden.
      In a lot of those cases I found that the code wouldn't simply work as-is and needed adjusting, in others it appeared to have been written by someone who didn't know what he or she was doing.

      Reusing code is only a timesaver when you can plug it in and not have to worry about it which is why I'd personally rather write it myself than be stuck with code I don't fully trust.

      Obviously this doesn't apply when you're dealing with reusable components of several thousands of lines of code.

    2. Re:I'm very interested to see what ppl say!! by cdn-programmer · · Score: 1

      Reusing code is only a timesaver when you can plug it in and not have to worry about it which is why I'd personally rather write it myself than be stuck with code I don't fully trust.

      I think this phrase says so much! Every programmer who undertook to re-invent the wheel has felt he could do a better job and of course he trusted his work.

      Then they quit and leave the problem for a maintenance programmer to deal with.

      Your points are quite valid mind you. But one day you will realise you have become your own maintenance programmer. Then you will wish you used more opensource code. But I'm not talking about the shitty stuff. I'm talking about the really top quality code we find in Glibc for instance - and in WxWidgets.

      If you can find professional caliber code under a LGPL style license then you have done rather well.

      If you have to roll your own so to speak, then consider releasing under the LGPL. A library owned by an individual consultant has little market value. (Unfortunately). A library created by an employee is both expensive and if he quits he loses all his work. In both cases - opensourcing solves a lot of problems.

  16. As other poster noticed: by hummassa · · Score: 1

    There is no exception.
    read this.

    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
  17. Try reading the question properly... by Phil+John · · Score: 1

    ...specifically

    I do not want any closed-source tool based in MultiMAD code, so licenses such as the Apache one cannot be used

    That precludes the BSD license as having any use for his problem. If he used the BSD license anyone could take his code, package it up, rename it and release it. As long as they then attributed that portions of the code are copyright by the original author (and include the list of disclaimers) they would be A.OK. and my programmer here would have no recourse.

    What I would suggest is the LGPL for the core code, that way, any changes that directly affect it have to be made open, but other licensed programs (even closed source ones) can link to it under the terms.

    --
    I am NaN
    1. Re:Try reading the question properly... by petrus4 · · Score: 1

      That precludes the BSD license as having any use for his problem. If he used the BSD license anyone could take his code, package it up, rename it and release it. As long as they then attributed that portions of the code are copyright by the original author (and include the list of disclaimers) they would be A.OK. and my programmer here would have no recourse.

      They'd be doing that with what in essence would be a *fork*, though...or a derived work. This is what people don't understand. He'd still have his original code. He also would still have the option of selling it. Putting his code under the GPL won't stop other people from selling copies of it, either.

      There seems to be an erroneous perception (although I know exactly where/who it comes from) that when someone uses a non-GPL license, they immediately lose any and all right to their work, or to what happens to it. This is quite simply not true. They don't govern what happens to derivative works, sure...but they can still control what happens to the parent.

      Stop relying on Stallman's brain, and try using your own.

  18. consider the MPL or the LGPL... by orabidoo · · Score: 1
    ... depending on where you want to put the boundary.

    Very roughly speaking (read the actual licences to clarify the real conditions...):

    The GPL's idea is: whatever is linked or derived from the original program must also be GPL-free.

    The LGPL: whatever is derived from the original code must be LGPL-free. No restriction on what code you can link or interface to.

    The MPL: the original code and modifications to its files must be MPL-free. No restrictions on code in new files.

  19. Common Public License (CPL) is Perfect for this by canolecaptain · · Score: 2, Insightful

    I work on a Network Management application where the core is open source and the plugins can be any variation of license. We went through this same process and found GPL and LGPL to be more viral than beneficial for this same reason. We don't care, as you don't, that propriatary plugins (heck even extensions) are created and/or sold with our product, and they can have any license they want. However, we retain rights to our code, and any direct source code modifications to our files must be under our license.

    Here's the problem with LGPL: (from opensource.org) " However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License."

    If any plugin 'links' to your library, it's derivitive. That's crap in my opinion, and since you are using Java, some could argue that 'run-time linking' is still linking since it's running in the same JVM.

    Use the BSD or CPL - you'll be much better off. :-)
  20. Nope, that's wrong -- it can't be relicensed by Morgaine · · Score: 1

    You could, but someone can relicense it as GPL on Saturdays and MIT on Tuesdays, since GPL and MIT by themselves don't have restrictions.

    Not so. What license would grant them the right to do that? Certainly not the GPL, since once something is GPL, it's always GPL -- that's its strongest point, its ultimate protection. Not even the author can change the license of the version he has released under GPL. (He can license future versions differently of course, but note that he alone has this freedom as copyright holder, nobody else can).

    And when the author personally offers the additional freedom that plugins to his code are not considered derived works of his code, then that doesn't allow anyone to alter the licensing either. So, they can't do so by any legal means.

    Note also that nobody is in a position to chase infringements other than the copyright holder, so the FSF certainly would not be able to do so even if they didn't like additional freedoms being granted alongside the GPL.

    --
    "The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
    1. Re:Nope, that's wrong -- it can't be relicensed by Geoffreyerffoeg · · Score: 1

      Not so. What license would grant them the right to do that? Certainly not the GPL, since once something is GPL, it's always GPL -- that's its strongest point, its ultimate protection.

      That's exactly what I'm saying. You can't hold it as GPL for only one day - it's GPL forever. And same with MIT. You can't add the restriction that it's GPL only on Tuesdays, and MIT only on Saturdays, because neither license allows that.

  21. Huh? by Brandybuck · · Score: 1

    Huh? Just use the GPL!

    The GPL does not regulate runtime linkage. RMS, the author of the GPL says so. While there may be a dispute over the boundaries of the GPL with regards to dynamic linkage, everyone agrees that runtime linkage is fine.

    A plugin is loaded at runtime. No problem.

    --
    Don't blame me, I didn't vote for either of them!
    1. Re:Huh? by jrockway · · Score: 1

      > FreeBSD: Open Source without that fishy smell

      Are you referring to Puffy (OpenBSD) or the fish that Tux (uh, Linux) has overeaten?

      --
      My other car is first.
    2. Re:Huh? by Brandybuck · · Score: 1

      Tux is the one who smells, due to the simple fact that penguins have noses while blowfish do not. :-)

      --
      Don't blame me, I didn't vote for either of them!
  22. Let's straighten this out by JavaRob · · Score: 1

    You're both partly wrong, and partly right.

    You DO still have copyright over your software, unless you assign it to the public domain. You *can* change the license you distribute it under every day. You *can* add restrictions.

    But let's say you license it under GPL on Monday. I download it. On Tuesday, you change the license for the same exact code to MIT. YES, you can do this, but I still have the rights the GPL gave me to redistribute for my Monday version, so I'm free to distribute that myself under the GPL.

    Now, I don't own the copyright, so *I* can't change that license in any way... and if you keep developing your MIT-licensed code, I can only use the updated code under the new MIT license.

    The real point here is that the power remains with the copyright holder. You can do whatever you want with your code. You have to honor agreements you made, so you can't change your agreement with me once I've downloaded it... but you can make a different agreement with anyone else you choose.

    Related to this -- you certainly can add your own limits to the GPL. Again, YOU own the copyright and you can make whatever agreement you like with the people you give it to (as long as you aren't breaking any laws) -- if they don't agree, they can't use your software. For example, in the license itself they discuss how you can write "this software falls under the GPL version X.X and above", vs. "the GPL (any version)", vs. "the GPL X.X only". You are allowed to add caveats, and this is specifically discussed (though mostly discouraged for simplicity's sake) in the documentation about the GPL on gnu.org.

    Does that help?

    1. Re:Let's straighten this out by Geoffreyerffoeg · · Score: 1

      I think we're both saying the same thing and not realizing it.

      You're right about the Monday/Tuesday thing. My phrasing is that it would be pointless to do so, because you can't restrict people from reGPLling it on days other than Monday - unless you only license under a modified GPL.

    2. Re:Let's straighten this out by JavaRob · · Score: 1

      This is probably more an academic exercise than sorting out an important point by now. You're right that it would generally be pointless to alternate licenses per dates.

      BUT it's important to understand that as the copyright holder, you *can* add restrictions to the GPL, and you can change the license (and presumably the new license applies to all updates to the code), and you can offer multiple licenses.

      Many people think that once you release your code as GPL, the people who download it have the same rights as you do -- that YOU are limited to the GPL. You were talking about things the licenses would not let you do -- this is very misleading, because you (as copyright holder) aren't restricted to the licenses.

      For example, you can *sell* commercial extensions to your GPL'ed application, that are linked directly to it, and sell the whole bundle under a commercial license. It's irrelevant that you are also distributing the base code as GPL.

      This is pretty important. A lot of companies are avoiding the GPL like poison because they don't understand this distinction.

      The only time you are bound to the GPL is if you accept someone else's code into your project (because THEY own the copyright, unless they assign it to you). Then you are bound to the GPL for anything linked to their code.

  23. Hang on now. by JavaRob · · Score: 1

    Let me jump in here. This is stuff I've researched pretty thoroughly, and I don't even keep track of what RMS is talking about nowadays -- I just know what's in the licenses.

    They'd be doing that with what in essence would be a *fork*, though...or a derived work.

    Okay, so let's say he spends a year working on his application, than releases it under the BSD license. Acme company takes the source, changes the logo, packages it up, and sells it under a commercial license (binary only) for $20. They can do this. Then they put 20 programmers to work improving the application, and they sell the now best-of-breed app, closed source, for $100. Given that they got a full year of free man-hours on the project, they clean up, and the original project can't possibly keep up. This is also OK under the BSD license, as long as Acme puts the proper text in the about box.

    This is what people don't understand. He'd still have his original code. He also would still have the option of selling it.

    Sure, he can sell the original code, but he can't compete with that gang of 20 programmers so he won't earn much. Remember, they started with no investment whatsoever, with a full year of development already complete... whereas he had to actually do all that work, so he's way behind from the start.

    Putting his code under the GPL won't stop other people from selling copies of it, either.

    Okay, let's do the GPL scenario. Acme company now has the right to take the code, change the logos, and distribute it ONLY UNDER THE GPL (which means they must include the complete source code, and everyone they sell it to has the right to distribute what they bought for free if they want). They won't sell many. It just takes one guy to make it a free download. Then Acme puts 20 programmer to work improving the app -- they create the super-duper app. And they can use it in-house only, or sell it ONLY UNDER THE GPL, so they have to include the source code of their updates, and anyone they sell it to has all of the GPL rights as well. And the original project can incorporate their updates if he likes (though not if he wants to sell it himself -- he's limited to the GPL if he wants to use THEIR copyrighted code).

    There seems to be an erroneous perception (although I know exactly where/who it comes from) that when someone uses a non-GPL license, they immediately lose any and all right to their work, or to what happens to it. This is quite simply not true. They don't govern what happens to derivative works, sure...but they can still control what happens to the parent.

    [How exactly is "you must include this copyright notice if you sell my work" controlling the parent code? Remember, Acme doesn't even have to modify it before selling it under a commercial license. The ONLY restriction is the copyright notice.]

    Anyway, read through the above, and/or read through the licenses themselves if you don't believe me, and tell me if you still take the same view. There *are* places where the Apache and BSD licenses play an important role, or they wouldn't exist -- but they are quite close to public domain for all intents and purposes, and for small, personal projects like this one... they are not appropriate.

    1. Re:Hang on now. by Anonymous Coward · · Score: 0

      How exactly is "you must include this copyright notice if you sell my work" controlling the parent code?

      The point petrus4 is getting at is that there seems to be this erroneous perception that if a company forks BSD'ed code, and closes the source, the BSD'ed branch of the fork disappears. (It doesn't.) The original author still has full rights to the BSD'ed "parent code" that's sitting on his hard disk. He can sell it, modify it, give it away, etc. That someone else has a copy that's closed source doesn't restrict what happpens to the version that's BSD'ed

      Okay, so let's say he spends a year working on his application, than releases it under the BSD license. Acme company takes the source ... Remember, they started with no investment whatsoever, with a full year of development already complete... whereas he had to actually do all that work, so he's way behind from the start.


      No, they started at the same place - the released version of the code. The fact that one part time programmer can't compete with 20 full time programmers is a pointless tautology. At any rate, even if Acme started from scratch, the 20 programmers could catch up in less than a month (the relesed program only represents one man-year of work).

      Sure, he can sell the original code, but he can't compete with that gang of 20 programmers so he won't earn much.

      No matter what he does with the code he won't earn much. The 20 programmers will catch up in a month, under any license. And if he GPL's it, it won't even take that long. Someone else can offer source+code for free, once they obtain it from him. Takes less than an hour to put it live on the internet - it's hard to compete with "exactly the same, but free."

      Switching gears for a moment, let's go back to the situation where he BSD's it. Acme comes along and close sources it. Remember there are two versions out there now, a BSD and a close source. Now - a customer comes along and wants to purchase a product. Which one will he choose? You say he'll choose the close source one., because the 20 programmers have improved it. Well, in that case he isn't buying your program that they close sourced, he's buying the improvements that the 20 programmers have made. If the improvements aren't of value, why wouldn't the customer choose your BSD version? It comes with the source, and is presumably cheaper (the 20 programmers have to eat, you know.)

      There *are* places where the Apache and BSD licenses play an important role,... for small, personal projects like this one... they are not appropriate.

      I'd say you'd have that flipped. The chances that the OP is going to get an appreciable amount of money out of a "small, personal project" is close to nil. The additional amount of code you're going to get back because of the GPL (versus what you'd get back just from altruism) for a small project is probably negligible - mostly becuase you don't have that many eyes on the code, and secondly, if the market for the original program is small, the market for improvements is smaller. And besides - as author of the original app, you can't just demand that changes be submitted back just because you wrote the original code. You only have rights to the modified code if you obtain the modified program - so you'd have to go trawling for forks, and then attempt to obtain the source code for them. They only have to give you source code if you get the binary program, and they can charge you to get the binary program - or refuse outright. ("I'm sorry, we only sell to Acme certified network consultants.")

    2. Re:Hang on now. by JavaRob · · Score: 1

      I don't have time to walk you through every point here, but let me quickly point out some problems. You aren't trolling me, are you? Try looking at these two pathways from the point of *insert-commercial-developer-name-here*, and think about it, I think what I'm saying will make more sense.

      The point petrus4 is getting at is that there seems to be this erroneous perception that if a company forks BSD'ed code, and closes the source, the BSD'ed branch of the fork disappears. (It doesn't.) The original author still has full rights to the BSD'ed "parent code" that's sitting on his hard disk. He can sell it, modify it, give it away, etc. That someone else has a copy that's closed source doesn't restrict what happpens to the version that's BSD'ed
      I don't see how this is relevant to choosing BSD vs. GPL. If he releases it into the public domain, he can still sell it, modify it, give it away, etc.. He is unrestricted. So what? That's true no matter what he does.

      No, they started at the same place - the released version of the code.
      Huh? He started a year ago, and now has worked for a FULL year without being paid for that work. He is 1 year in the hole -- depending on his skill, possibly about 100K. Acme corp is starting with no investment. He likely has debts to pay off, etc. etc. to say nothing of the psychological investment of a year of his life -- if he gets no money and no recognition out of it, that will hurt.

      The fact that one part time programmer can't compete with 20 full time programmers is a pointless tautology. At any rate, even if Acme started from scratch, the 20 programmers could catch up in less than a month (the relesed program only represents one man-year of work).

      Think for a moment about large projects you have worked on. 20 programmers can likely work on disparate features in parallel in a well-designed framework, but if they were trying to reproduce his year's work designing the architecture, deciding the featureset, etc. etc. that wouldn't translate at all into a month's work for 20 programmers. That would be chaos.

      If his design and concept are crap, it doesn't matter much what he does. But if a year's worth of focussed thought have come up with something really sweet, this is something that cannot be measured at all in man-hours. Sure, Acme can take their chances, and put 20 guys on the project of coming up with a competitor... but they're starting from scratch, and remember that the majority of corporate development projects FAIL.

      And if he GPL's it, it won't even take that long. Someone else can offer source+code for free, once they obtain it from him. Takes less than an hour to put it live on the internet - it's hard to compete with "exactly the same, but free."

      Read the GPL. Someone else CANNOT offer his source and code for free -- they can only distribute it under the same GPL terms. If Acme wants to use his sweet architecture, they CANNOT freely give away their additions (GPL only), and they CANNOT sell their additions closed-source.

      But if he wants to earn some money, he can sell bundling licenses, and he can sell closed source additions (which Acme could also develop... but not sell except as GPL, so they can't compete). MySQL is a real-life example of dual-licenses, but the kind of small project I'm thinking of is ActiveWidgets. Check out the site and see if you can tell me that his kind of small project would be better off with a BSD license. No one would need to pay him for anything. I like some of his components... but to use them on one of my commercial sites, I'd have to pay him.

      Choosing GPL vs. BSD just means you are granting fewer rights to the rest of the world -- and if you want to, you can sell those specific rights (like commercial bundling) later, to commercial folks who need them and can afford them, whereas other GPL projects (who likely can't afford your licenses anyway) get to include your work without paying a cent.

  24. Have we gone through this before by sethstorm · · Score: 1

    with this guy and his shill, as well as someone who's dealt with Ewing? You might give that some consideration with licensing.

    --
    Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
  25. Blah, blah, blah by msimm · · Score: 1

    I think...in reading the original post, the author himself was asking about a license that would disallow the original code working its way into closed/commercial projects. Strictly speaking this is my biggest objection to the BSD license.

    Not to say I disagree that there should be a BSD license, but when *I* want to share something I want to share it plain and simple. Not have some jack-ass change the graphics around a bit do some re-tooling and market it themselves.

    Anyhow, Mozilla seems to be a big OSS project that allows closed plugins to mix with it.

    --
    Quack, quack.