Shop OBEX P1 Docs P2 Docs Learn Events
MIT License — Parallax Forums

MIT License

Larry C.Larry C. Posts: 48
edited 2013-08-21 12:47 in Propeller 1
Can anyone direct me to an explanation of the "Terms of Use" text block that appears at the end of some SPIN code? What does it imply? Do I need to include it if I am planning to publish some programs I have written? And why?

I apologize if this has been discussed already on this forum, but the search engine on these forums seem almost useless for this kind of thing.

Thanks,

Larry

Comments

  • localrogerlocalroger Posts: 3,451
    edited 2013-08-19 15:27
    Larry the MIT license is meant to make sure the code is usable for any purpose, commercial or personal, by those who might download it. Code in the Obex must be MIT licensed, but not all public Propeller code is; for example, some code in the forums has the GPL which requires that you attribute and include the entire original project and source code if you use the code in your own project or product.

    MIT basically says:

    1. If you download it you can use it for anything you want to, but should credit the original author.
    2. If you are the author you make no warranty and incur no liability for what the code does.
    3. There are no distribution requirements. You can modify and section the code however you want when you use it. You don't have to include a particular full set of modules, documentation, or source code.
    4. If you use the code in your own project, you do not need permission or owe royalties to destribute your new creation that uses it.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2013-08-19 16:18
    Larry C. wrote:
    Do I need to include it if I am planning to publish some programs I have written? And why?
    If you use, modify, and/or redistribute objects in source form that already include the MIT license, the license boilerplate needs to remain in place in those objects. Programs that you write that use such objects, do not also have to be MIT licensed, if you don't want them to. IOW, the MIT license is not viral like the GPL is. Any code that you submit to the Propeller Object Exchange (OBEX) must be MIT licensed to be accepted. That's a Parallax rule designed to make code in the OBEX as freely usable as possible, while still crediting the original authors.

    -Phil
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-08-19 16:25
    localroger wrote: »
    4. If you use the code in your own project, you do not need permission or owe royalties to destribute your new creation that uses it.

    This includes commercial projects. I believe you can even charge money for software others wrote (if they used a MIT license).
    Any code that you submit to the Propeller Object Exchange (OBEX) must be MIT licensed to be accepted. That's a Parallax rule designed to make code in the OBEX as freely usable as possible, while still crediting the original authors.

    The rule was recently extended to include code posted to the forum as well.
  • Larry C.Larry C. Posts: 48
    edited 2013-08-19 16:25
    So, am I right to infer that the requirement that Obex code must be MIT licensed is imposed by Parallax? And that the reason is to protect Parallax from liability, since they are sorta responsible for publishing the code in the Obex?

    Similarly, I would guess that the only reason I would include the license in any code I may publish would be to protect myself against liability. Does that sound right? I am not concerned about attribution on my behalf. IOW, if anybody uses my stuff, I don't care if they credit me, I just would not like to have somebody claim damages.

    Thanks for the insight, localroger.
  • Mike GreenMike Green Posts: 23,101
    edited 2013-08-19 16:31
    The MIT license does insulate the author from liability, but the main reason for Parallax to require it for ObEx and forum contributions is that it ensures that others can use the code however they want as long as they give credit to the original author (and pass along the MIT license along with the downloaded code).
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2013-08-19 16:35
    Larry C. wrote:
    So, am I right to infer that the requirement that Obex code must be MIT licensed is imposed by Parallax?
    Yes.
    And that the reason is to protect Parallax from liability, since they are sorta responsible for publishing the code in the Obex?
    The main reason is so that their customers are not encumbered by onerous licensing requirements, while still crediting and protecting the original authors. Parallax is in the business of selling chips. It's in their best interests that any code appearing on their various websites not be awkward or expensive for their customers to use.

    -Phil
  • localrogerlocalroger Posts: 3,451
    edited 2013-08-19 17:47
    Duane Degn wrote: »
    This includes commercial projects. I believe you can even charge money for software others wrote (if they used a MIT license).

    Yes. The main purpose of the license is to make sure code in the OBEX can be safely used in both personal and commercial projects, making the Propeller itself more useful to everyone. I have even prevailed on my own corporate masters to MIT license a number of things I've written on their dime, on the argument that such sharing is unlikely to be used directly against us by a competitor but it strengthens both Parallax and the Propeller itself as a viable product, both of which are shaping up to be important resources for our future activities.

    A few important projects were non-MIT, perhaps most nobably Harrison's ENC28J60 ethernet TCP/IP stack. Fortunately he has since MIT'd it IIRC to enter Thumper into the project contest it won.

    MIT developed the license for the very reason Parallax uses it, so that a community could develop with shared code that could be dependably used by anyone in the community even if they were a business selling a product. That's a necessary thing for the Propeller chip to thrive in the market. It doesn't do much good for the chip to be able to emulate say IIC slave in software if the code that does that has a bunch of difficult to observe licensing restrictions. Some people get all control-freaky about this but fortunately my boss has accepted my argument that we take much from the Parallax community and it only makes sense that we give back when we can.
  • Heater.Heater. Posts: 21,230
    edited 2013-08-20 00:02
    localroger,
    The main purpose of the license is to make sure code in the OBEX can be safely used in both personal and commercial projects, making the Propeller itself more useful to everyone.

    That is true but it's got be thinking it's kind of odd.

    Consider,

    Probably the biggest and most shared projects of all time is the Linux kernel. It is contibuted to and used by many organizations, commercial and otherwise. Linux is published under the GPL but never forces anyone to provide the sources to their programs if they use it.

    Similarly we have things like the standard C library. Again contributed to and used in commercial environments with no demands on the source code of any one who disributes a program using it. This is down to the LGPL which is like a watered down GPL.

    We might consider that a lot of code in OBEX is drivers and such which can be seen as bits of operating system for people to use in their projects. Or other things, like F32, are like bits of a standard library.

    Why then did Parallax need to use the MIT license to encourage commercial use?
  • KC_RobKC_Rob Posts: 465
    edited 2013-08-20 19:27
    Heater. wrote: »
    Why then did Parallax need to use the MIT license to encourage commercial use?
    Probably because the MIT license is widely considered to be more commercial-use friendly. Put another way, for many a license that doesn't require several hundred words to explain how "free" something is, is less cumbersome/worrisome. (Funny how in the bad old "closed-source" days public domain was generally good enough.)

    Parallax did the right thing by going with the MIT license; it's the better, surer fit in this instance. GPL is arguably good for some things, but not everything.
  • Heater.Heater. Posts: 21,230
    edited 2013-08-21 11:44
    KC_Rob,
    Probably because the MIT license is widely considered to be more commercial-use friendly.
    I know what you mean. However those guys who are "widley considering" have missed the point that some of the most profitable companies in the world are using GPL'ed code and contributing back to the pool as they go.
    Put another way, for many a license that doesn't require several hundred words to explain how "free" something is, is less cumbersome/worrisome.
    Sadly it takes that many words to explain it to those who are not used to the idea.
    Funny how in the bad old "closed-source" days public domain was generally good enough.
    Hmmm..In the really good old days of computing there was no closed source.
    Source code had to be provided because probably my binaries would not run on your machine.
    I don't know when it changed but today it's impossible to put anything you create into the public domain (Unless you are the government). You have the copyright as soon as you create it.

    Turns out MIT is a good choice. Perhaps not for the reason you think. If one could use OBEX code without atually including it in ones program, thus creating a "derived work", then LGPL would be just fine.

    It's that technical detail of "linkage" that makes all the difference.
  • KC_RobKC_Rob Posts: 465
    edited 2013-08-21 12:14
    Heater. wrote: »
    KC_Rob,


    I know what you mean. However those guys who are "widley considering" have missed the point that some of the most profitable companies in the world are using GPL'ed code and contributing back to the pool as they go.
    But it's not like there isn't a ton of BSD style licensed code (MIT etc.) out there as well. GPL isn't the only way to go, nor should it be.
    Sadly it takes that many words to explain it to those who are not used to the idea.
    Yet need not. It might just well be that the "idea" is a strained version of something most people innately feel they already had an understanding of.
    Turns out MIT is a good choice. Perhaps not for the reason you think. If one could use OBEX code without atually including it in ones program, thus creating a "derived work", then LGPL would be just fine.

    It's that technical detail of "linkage" that makes all the difference.
    More trouble than it's worth in some cases. MIT is simple and to the point, and does the job here just fine. In the end we agree, Parallax got it right.
  • Heater.Heater. Posts: 21,230
    edited 2013-08-21 12:47
    KC_Rob,
    Yet need not. It might just well be that the "idea" is a strained version of something most people innately feel they already had an understanding of.
    The issue here is what on Earth does the GPL mean by "free". The oft used phrase is "free as in speech not free as in beer." That is hard enough for some get get a grasp of. And that is why the idea seems strained.

    Most people think the word "free" applies to themselves. As in they are free to use the code or free to distribute it etc. Clearly that is not true because use of GPL code comes with conditions you have to abide by. Those conditions are a "price" for your usage, that's not exactly free now is it?

    Let me put it to you that even those who go with "free as in free speech" are not quite there in their understanding yet.

    It's not that you, the receiver of the source code, that is free to use and do what you like with it. It's the source code itself that is free. Free from being locked up and held to ransom in some closed source derivative. Free to go wherever it is welcome and reproduce and spread.

    In short: the code is free not the user. And that is why the GPL is incomprehensible to many.

    On the other hand, yes, Parallax is right about the MIT for OBEX. Their business is to sell more chips not to promote free software. Good for them, good for us.
Sign In or Register to comment.