Shop OBEX P1 Docs P2 Docs Learn Events
License info suggestion — Parallax Forums

License info suggestion

RaymanRayman Posts: 14,665
edited 2013-04-02 18:50 in Propeller 1
Maybe it's just me, but whenever I see GNU, I get a little worried about licensing issues...

Just spent a few minutes looking for something that says I can make my PropGCC code with any license I want...

Found a lot of things that describe the license of GCC, but can't find an official looking statement that code
we're using GCC to compile can have any license. Did find a lot of people saying that you can though.
Maybe they don't say that because it's obvious? Don't know...

There's also something about a run-time exception. I don't think that applies though, right?
Or, do we need this because we are linking to GCC library files?

Anyway, I think some people who might be turned off by gcc, might feel better with a detailed statement
about the license. Maybe on the PropGCC web page or the FAQ or something.

Maybe it's there already, but I didn't see it...

Update: I feel comfortable now that I can MIT license the code I want to make with PropGCC.
Maybe Parallax shouldn't make the blanket kind of assertion that I'd like to see.
But, just saying that PropGCC can be used to create MIT licensed code would be nice.
I think they are asserting this fact already by providing examples with MIT license.
Maybe they could say in detail in the FAQ why one particular example can be MIT licensed or something...
«1

Comments

  • KC_RobKC_Rob Posts: 465
    edited 2013-04-02 10:13
    Rayman wrote: »
    Maybe it's just me, but whenever I see GNU, I get a little worried about licensing issues...
    Nope, not just you... trust me. Perhaps there are some lawyers here who will chime in with some free legal advice for you. That won't be me, however. :) In lieu of it, here are a couple of links you might want to look over:

    Can GNU GPL licensed code not be used to develop proprietary software for commercial purposes?

    BSD or Linux: Which Unix is best for embedded applications? (In particular, the section titled "Consequences in the Embedded Market." Mostly has to do with embedded Linux but still relevant and worth a quick look.)
  • David BetzDavid Betz Posts: 14,516
    edited 2013-04-02 10:38
    Rayman wrote: »
    Maybe it's just me, but whenever I see GNU, I get a little worried about licensing issues...

    Just spent a few minutes looking for something that says I can make my PropGCC code with any license I want...

    Found a lot of things that describe the license of GCC, but can't find an official looking statement that code
    we're using GCC to compile can have any license. Did find a lot of people saying that you can though.
    Maybe they don't say that because it's obvious? Don't know...

    There's also something about a run-time exception. I don't think that applies though, right?
    Or, do we need this because we are linking to GCC library files?

    Anyway, I think some people who might be turned off by gcc, might feel better with a detailed statement
    about the license. Maybe on the PropGCC web page or the FAQ or something.

    Maybe it's there already, but I didn't see it...
    There is no GPL code in the PropGCC libraries that get linked to your code. It's all MIT or BSD licensed I believe. The GNU tools themselves are GPL of course but you aren't likely to want to include them in a commercial produc.
  • jazzedjazzed Posts: 11,803
    edited 2013-04-02 10:38
    This is a typical Fear, Uncertainty, and Doubt "FUD" marketing ploy.

    Propeller-GCC and the underlying tool chain is subject to GPLV3 which allows using GCC for non-GPL code. The terms of GPLV2 are different.

    In GPLV3 you will find this: https://code.google.com/p/propgcc/source/browse/gcc/COPYING.RUNTIME

    That explicitly states in part: "When you use GCC to compile a program, GCC may combine portions of certain GCC header files and runtime libraries with the compiled program. The purpose of this Exception is to allow compilation of non-GPL (including proprietary) programs to use, in this way, the header files and runtime libraries covered by this Exception."
  • ctwardellctwardell Posts: 1,716
    edited 2013-04-02 10:42
  • KC_RobKC_Rob Posts: 465
    edited 2013-04-02 11:00
    FUD is there because it is built-in to the license itself -- and what is more, much of it has never actually been adjudicated. Again, if this truly is a concern for you, contact an attorney (one who specializes in this stuff) and show him or her the PropGCC license and all related information. That's your best bet.
  • jazzedjazzed Posts: 11,803
    edited 2013-04-02 11:01
    Rayman wrote: »
    There's also something about a run-time exception. I don't think that applies though, right?
    Or, do we need this because we are linking to GCC library files?

    As noted the run-time exception is specifically for the case where you want to create a non-GPL project. It covers the libgcc.a for example which is used in the compile process.

    When I mentioned FUD marketing, I wasn't suggesting anyone is spreading FUD, but were victims of it. The propensity to share good or bad information is human nature.

    Anyone who is marketing (or anti-marketing) product will only tell you what benefits their position - you see this everywhere, not just on these forums.

    A FAQ point explaining GPLV3 and Propeller-GCC would be nice. It may be worth asking Parallax to make a statement on web pages. Folks will always come with bias.
  • Heater.Heater. Posts: 21,230
    edited 2013-04-02 11:05
    KC_Rob,

    Really, you should no better by now. This debate has been hammered out for 20 years or more. At least since 1996 when I first discovered Linux and the Free Software world.

    Licensing of GCC is such that whatever program you create with it does not itself suddenly require becoming Free Software. You can put whatever license you like on your creation.

    Licensing of the Linux kernel is such that whatever program you run on it does not itself suddenly require becoming Free Software. You can put whatever license you like on your creation.

    Same applies to pretty much all libraries you might want to use on a Linux system.

    These terms are not any harder to understand than whatever it is one normally clicks through when using a commercial software.

    As a case in point companies like NVIDIA are putting out significant chunks of closed source code for their graphics cards.
  • KC_RobKC_Rob Posts: 465
    edited 2013-04-02 11:16
    Heater. wrote: »
    KC_Rob,

    Really, you should no better by now. This debate has been hammered out for 20 years or more. At least since 1996 when I first discovered Linux and the Free Software world.

    Licensing of GCC is such that whatever program you create with it does not itself suddenly require becoming Free Software. You can put whatever license you like on your creation....
    BS, Heater. I don't know "better" and neither do you. (Are you a lawyer, by the way?) Questions come up about GNU/GPL all the time, even in places you think they wouldn't - still now - and much of it hasn't actually been settled in court -- where it matters.

    Your statement only applies if many clear and some not so clear guidelines are followed. Unless you're an attorney or similarly qualified expert, and you know every little detail about how someone's code was written and built, it's irresponsible to make such blanket statements. 'Nuff said.
  • Heater.Heater. Posts: 21,230
    edited 2013-04-02 11:19
    Mind you I do think there are some odd things going on in the GPL/LGPL.

    For example:

    a) I might write a program against some library that I have, be it on Windows or whatever.
    b) I compile that to run on Linux using libraries that provide the same functionality and API.
    c) If that library is released under the LGPL and I am dynamically linking, all is well.
    d) However if I staticaly link to the same library it's license insists that I make my program GPL or LGPL.

    This seems a bit dumb as my program is in no way a derived work of that library. My program may well have existed before that library implementation did.

    Of course, my binary now conatins a compiled version of the library so I am compelled to provide source for that, but why should I be compeled to also provide source for my program?
  • KC_RobKC_Rob Posts: 465
    edited 2013-04-02 11:24
    Heater. wrote: »
    Mind you I do think there are some odd things going on in the GPL/LGPL. ...
    All someone need do is read through the Wikipedia section on this topic to realize that there is indeed a fair amount of uncertainty and fogginess involved, much of which clearly hasn't yet been settled.
  • Heater.Heater. Posts: 21,230
    edited 2013-04-02 11:30
    KC_Rob,

    No I am not a lawyer. But if we need a lawyer to check every little thing we do we are never going to do anything. Sometimes reading the agreement offered has to be enough to continue.

    Everything you have said about Linux, GCC and the GPL also applies to every other piece of software you use. Many of whose restrictions are even worse.
  • KC_RobKC_Rob Posts: 465
    edited 2013-04-02 11:44
    Heater. wrote: »
    KC_Rob,

    No I am not a lawyer. But if we need a lawyer to check every little thing we do we are never going to do anything. Sometimes reading the agreement offered has to be enough to continue.
    Like it or not, it's getting to that point. (Part of the drudgery of doing this stuff for a living.) That's another topic, of course.
    Everything you have said about Linux, GCC and the GPL also applies to every other piece of software you use. Many of whose restrictions are even worse.
    No, it in fact doesn't. Certainly not BSD-style licensed software, nor really much commercial software. In both cases, things are (or can be) spelled out definitively. GPL is too full of legal novelties, "ifs," "ands," "buts," to safely say the same for it.
  • Heater.Heater. Posts: 21,230
    edited 2013-04-02 11:57
    I don't think Parallax adding any statement of their own re: the licensing terms of propgcc is a good idea. It only adds further to the noise and confusion that KC_Rob has highlighted. Better they just link to the licenses as they are.

    For those who have doubts about the legal sanding of all this or who cannot figure out what they can or cannot do with the product from reading the licenses there is only one way to go. Don't use it. Write your own compiler and libraries, pay someone else to write it for you. Whatever. It's not a problem. Simply don't use anything you are not sure of. Same criteria as any other piece of software.

    Meanwhile, the rest of the world will get on with creating many varied and wonderful things for profit or pleasure with the Propeller and propgcc:)
  • ctwardellctwardell Posts: 1,716
    edited 2013-04-02 12:11
    Does the use of BSTC to compile the loader cause any issues?

    http://code.google.com/p/propgcc/wiki/PropGccBuild

    The link I mentioned in #5 contains the following:

    "In order to take advantage of this permission, the Compilation Process that you use to create Target Code has to be “Eligible,” which means that it does not involve both GCC and GPL-incompatible software. It's important to remember that the Compilation Process starts when you feed any high-level code to GCC, and ends as soon as it generates anything that can be considered Target Code. Because of that, as long as GCC isn't writing out intermediate representation, your Compilation Process can still be Eligible even if you use GCC in conjunction with GPL-incompatible assemblers, linkers, or high-level source generators: those programs aren't involved in the Compilation Process as it's defined here. The only place you can't use GPL-incompatible software with GCC is when it's performing the core compilation work."

    C.W.
  • TorTor Posts: 2,010
    edited 2013-04-02 12:13
    KC_Rob wrote: »
    FUD is there because it is built-in to the license itself
    No, it's not. The GCC license is based on copyright law, specifically the copyright of the 'artwork' that is the GCC. The code you write is made by _you_, and the copyright is yours. The compiler is not an issue here at all, in the same way that compiling your code with the ultra-propriety, copryighted compiler of some other vendor wouldn't change the ownership of your own code. For exactly the same reason.

    So, compiler is not and can never be an issue. What could be an issue is the libaries you use, and that is taken care of as described by other posts.

    -Tor

    Edit: I'm not a lawyer either, but I did spend a full day with the headquarter's IP lawyer. He's spent lots of time in court on copyright cases. Not that there's anything unclear about using GCC to start with - copyright law is not _that_ difficult, at least not the part which defines that what you write, you have the copyright on, and what license applies is your decision.
  • SRLMSRLM Posts: 5,045
    edited 2013-04-02 12:38
    So, in order to add some basic guidelines for PropGCC licensing, I think some clarification is in order. Can anybody fill in the blanks?

    Q: What licensing concerns do I need to be aware of to develop with PropGCC?
    A: It depends on your choice of license for your code. If you want your code to be:
    GPL: <blank 1>
    LGPL: <blank 2>
    MIT: <blank 3>
    proprietary (closed source): <blank 4>
  • ersmithersmith Posts: 6,054
    edited 2013-04-02 12:38
    There seems to be a great deal of confusion between the copyright of GCC itself (which is GPLv3) and the copyright of the output of GCC (which as Tor very ably pointed out, is not). You own the copyright of your program, that should be clear. The only issue could be libraries linked with your program. The copyright of the PropGCC libraries is described in http://code.google.com/p/propgcc/source/browse/lib/LIB_LICENSE.txt. The short version is that it is all public domain or MIT/BSD licensed, except for a small amount of code from the libgcc library which falls under the GPL runtime exception (i.e. the Free Software Foundation explicitly allows it to be redistributed without conditions if it was linked using GCC or a GCC derivative such as PropGCC).

    Nobody has ever been sued for a GPL violation merely because they used GCC to compile their program, nor will they be according to the GCC copyright holder (the FSF).

    Eric
  • ersmithersmith Posts: 6,054
    edited 2013-04-02 12:42
    ctwardell wrote: »
    Does the use of BSTC to compile the loader cause any issues?
    No. The loader, and the loader helper code that is compiled by BSTC, is not involved in any way in the "Compilation Process". It is used only by propeller-load to download code to the Propeller.

    Eric
  • Heater.Heater. Posts: 21,230
    edited 2013-04-02 12:45
    Tor,

    Now I'm going to argue against myself a bit.

    What you say is true. You write it, it's yours.

    However it's quite possible to write a small C++ program where most of the resulting binary code is not the result of anything created by you. This is especially a problem with C++ as there can be a lot of source code in he headers that gets compiled into your code. This is not so much an issue with C where the headers normally only define external things that are out there in some dynamic lib or other.

    That means there need to be exceptions in the GPL/LGPL allow use of those headers for non GPL/LGPL code.

    When you start to read those exceptions you get a big throbbing headache. As KC_Rob points out.
  • KC_RobKC_Rob Posts: 465
    edited 2013-04-02 13:03
    Tor wrote: »
    No, it's not. The GCC license is based on copyright law, specifically the copyright of the 'artwork' that is the GCC. The code you write is made by _you_, and the copyright is yours. The compiler is not an issue here at all, in the same way that compiling your code with the ultra-propriety, copryighted compiler of some other vendor wouldn't change the ownership of your own code. For exactly the same reason.

    So, compiler is not and can never be an issue. What could be an issue is the libaries you use, and that is taken care of as described by other posts.

    -Tor

    Edit: I'm not a lawyer either, but I did spend a full day with the headquarter's IP lawyer. He's spent lots of time in court on copyright cases. Not that there's anything unclear about using GCC to start with - copyright law is not _that_ difficult, at least not the part which defines that what you write, you have the copyright on, and what license applies is your decision.
    A nice simplistic gloss. It's not the compiler itself -- we all know that -- it's the stuff that goes along with it, some of which one may be aware of, some possibly not. (And no, you do not as a rule get into this kind of ambiguity with most commercial tool licenses.) I've talked to lawyers too, several in fact, and it really isn't so clear and simple as you want to have everyone think.

    Again, if this is important (meaning significant $$$ are involved), the OP should himself talk to a lawyer -- his lawyer. Probably better that than rely solely on advice, often quite biased, obtained from non-experts on Internet forums.
  • KC_RobKC_Rob Posts: 465
    edited 2013-04-02 13:05
    Heater. wrote: »
    What you say is true. You write it, it's yours.

    However it's quite possible to write a small C++ program where most of the resulting binary code is not the result of anything created by you. ...
    Exactly. And the hell of it is, it's not always clear as to what is what.
  • potatoheadpotatohead Posts: 10,261
    edited 2013-04-02 13:23
    Join the Free Software Foundation. One of the benefits of membership is being able to get good answers to difficult licensing questions.

    I used their help once to resolve my GPL code ending up in a commercial product. It was not hard and the number of successful resolutions speaks very highly to the solid nature of the GPL itself.

    No attorney is needed to produce commercial software with PropGCC.
  • ersmithersmith Posts: 6,054
    edited 2013-04-02 13:45
    KC_Rob wrote: »
    A nice simplistic gloss. It's not the compiler itself -- we all know that -- it's the stuff that goes along with it, some of which one may be aware of, some possibly not. (And no, you do not as a rule get into this kind of ambiguity with most commercial tool licenses.)
    Except that GCC, and the stuff that goes along with it, *is* widely used in the commercial world.

    Look, the bottom line is: can someone (successfully) sue you for using PropGCC? For starters, who is going to? It would have to be a copyright holder -- nobody else has standing. The copyright holders of the compiler are the Free Software Foundation, who have explicitly said you can redistribute GCC compiled code without restriction (http://www.gnu.org/licenses/gcc-exception-faq.html) and Parallax. I can't speak for Parallax, but I can say that I have no fear whatsoever that they will sue someone for using PropGCC!

    The copyright holders of the libraries are listed in the LIB_LICENSE.txt file, along with the conditions of use. The licenses are MIT (just like the OBEX), BSD (the floating point math libraries are derived from OpenBSD), and the FSF's GPL with runtime exception (see above). There is also some code that was explicitly dedicated to the public domain, by me and others, and that (obviously) no longer has a copyright you can run afoul of.

    Technically you should distribute LIB_LICENSE.txt along with your program in order to satisfy the MIT and BSD licenses. The FSF doesn't even require that, and if you read their runtime exception license and/or the FAQ linked to above, it's clear that there are no issues with distributing your code linked with their libraries.

    Eric
  • ersmithersmith Posts: 6,054
    edited 2013-04-02 13:51
    About the C++ headers, Heater writes:
    Heater. wrote: »
    That means there need to be exceptions in the GPL/LGPL allow use of those headers for non GPL/LGPL code.

    When you start to read those exceptions you get a big throbbing headache. As KC_Rob points out.

    There are exceptions, and those exceptions really are pretty clear. The GCC Runtime Library Exception itself is legalese, but as legalese goes it's not that bad. And the FSF's FAQ is very clear about what they're trying to do. What they don't want is for people to start trying to get around the GPL *on GCC itself* by producing a compiler that's partly GCC and partly some proprietary code that works on GCC's intermediate representation. They're saying if you produce such a compiler then you can't use their runtime exception for their libraries. That is not at all an issue in this case.
  • KC_RobKC_Rob Posts: 465
    edited 2013-04-02 13:59
    ersmith wrote: »
    Except that GCC, and the stuff that goes along with it, *is* widely used in the commercial world.
    Yes, and there *is* much darkness about doing so, just as there is about many other GNU/GPL-related issues (some quite surprising) -- despite widely widespread use. Remember your mother asking you if everyone else were jumping off a bridge ... (you know the rest)?

    As for what is included in/with the PropGCC toolchain and libraries, I'll take your word for it that every last bit has been accounted for, licenses all duly noted, and any an all potential license conflicts have been thoroughly examined and completely worked out. Of course, that's easy for me to say -- I have no plans on using it right now. The OP, on the other hand, might be in a different position; thus, I'll myself continue to refrain from making any blanket statements one way or the other. :)
  • ersmithersmith Posts: 6,054
    edited 2013-04-02 14:16
    KC_Rob wrote: »
    Yes, and there *is* much darkness about doing so, just as there is about many other GNU/GPL-related issues (some quite surprising) -- despite widely widespread use.
    There are many programs under the GPL. There are sometimes lawsuits involving those programs (BusyBox is a notorious example).
    There are many programs distributed under commercial licenses. There are sometimes lawsuits involving those programs, too. I'd wager there are far more copyright infringement lawsuits regarding proprietary programs than GPL'd ones.

    All of which is irrelevant. The Free Software Foundation is the copyright owner of GCC (period). They require copyright assignments for all contributions to the official GCC tree.

    PropGCC is directly derived from the official GCC tree, so the only other copyright holder on the compiler proper or any GPL derived code is Parallax.
    As for what is included in/with the PropGCC toolchain and libraries, I'll take your word for it that every last bit has been accounted for, licenses all duly noted, and any an all potential license conflicts have been thoroughly examined and completely worked out.
    Just as you take the word of any tool vendor. Actually for PropGCC you don't even have to take my word for it. The source code for all the libraries is in the repository, you can vet it yourself if you want to. Can you say the same about any other tool you use?
  • KC_RobKC_Rob Posts: 465
    edited 2013-04-02 14:31
    ersmith wrote: »
    Actually for PropGCC you don't even have to take my word for it. The source code for all the libraries is in the repository, you can vet it yourself if you want to. Can you say the same about any other tool you use?
    Short answer, yes -- that's what NDAs are for.

    As for searching the repository and all the rest of it, that is for the OP to do and decide for himself -- not my problem.
  • jazzedjazzed Posts: 11,803
    edited 2013-04-02 15:14
    KC_Rob wrote: »
    ...As for searching the repository and all the rest of it, that is for the OP to do and decide for himself -- not my problem.

    You have made it your problem by asserting that there is a problem without a fair analysis.

    In other words, you are perpetrating FUD.
  • KC_RobKC_Rob Posts: 465
    edited 2013-04-02 16:03
    jazzed wrote: »
    You have made it your problem by asserting that there is a problem without a fair analysis.
    In other words, you are perpetrating FUD.
    And you are perpetrating BS. Pure and undiluted. The OP's questions are legitimate, repeated and debated over and over and over again daily. If it really were so simple, that wouldn't be the case.

    Moreover, it is entirely one thing for me to post, what?, a few dozen sentences, suggesting that the OP *might* do well to check around a bit, rather than only rely on answers from non-experts on an Internet forum, and quite another for me myself to volunteer to pour over all this stuff for him and offer him a final judgment.

    My problem? Utter nonsense! Keep your drivel to yourself.
  • jazzedjazzed Posts: 11,803
    edited 2013-04-02 16:29
    Now you respond with a hateful rant?
    KC_Rob wrote: »
    And you are perpetrating BS. Pure and undiluted. The OP's questions are legitimate, repeated and debated over and over and over again daily. If it really were so simple, that wouldn't be the case.

    Moreover, it is entirely one thing for me to post, what?, a few dozen sentences, suggesting that the OP *might* do well to check around a bit, rather than only rely on answers from non-experts on an Internet forum, and quite another for me myself to volunteer to pour over all this stuff for him and offer him a final judgment.

    My problem? Utter nonsense! Keep your drivel to yourself.
Sign In or Register to comment.