OroCRM Forums

Covering OroCRM topics, including community updates and company announcements.

Forums Forums OroCRM OroCRM – License OroCRM=OSL3 OroPlatform=MIT

This topic contains 15 replies, has 8 voices, and was last updated by  msarandi 7 years, 11 months ago.

Starting from March 1, 2020 the forum has been switched to the read-only mode. Please head to StackOverflow for support.

  • Creator
    Topic
  • #29739

    diglin
    Participant

    Hi,

    I’m definitely not a lawyer or license specialist. So my question is pratically, what is the difference between OSL and MIT (it’s not a copyleft license)? What is the consequence is my day to day work? I mean if I do an extension for OroCRM, it must be also OSL? Can the extension be encrypted (it’s not my purpose)? What if I change the code and want to share it publicly or privately?
    The questions are the same for both applications.

    Thank you for your answer and enlightening :-)

Viewing 15 replies - 1 through 15 (of 15 total)
  • Author
    Replies
  • #29740

    Guido Jansen
    Participant

    Just discussed this with Jary actually and also seen this discussion a lot in the Magento (also OSL) and Joomla (GPL) community so I’ll give it a try (also not a license specialist here…).

    As far as I can find out (also from online search) is that the MIT license basically allows you to do anything with the code what you want, OSL has a bit more restrictions (still quite free, but more restrictive than the MIT license but less restrictive for instance to the GPL).

    Main differences:

    • MIT allows you to release changes under a different license (OSL does not)
    • MIT has no copyleft requirements (OSL does)
    • MIT is compatible with the GPL license (OSL is not)

    This part from Wikipedia probably also explains a lot about OSL:

    • Derivative Works must be distributed under the same license.
    • Covered works that are distributed must be accompanied by the source code, or access to it made available.
    • No restrictions on charging money for programs covered by the license, but source code must be included or made available for a reasonable fee.
    • Covered works that are distributed must include a verbatim copy of the license.
    • Distribution implies (but does not explicitly state) a royalty-free license for any patents embodied in the software.

    Looking at what happens at Magento, I see both free and paid extensions provided and also extensions that are encrypted. But when I read “but source code must be included or made available for a reasonable fee” encryption is possible and allowed, but you should provide the code (making encryption quite useless in most cases probably). As far as I know, those Magento extension builders don’t provide the source and also getting a bad reputation about it.

    So:
    I mean if I do an extension for OroCRM, it must be also OSL?
    Nope, anything you want (Yoav confirmed it ;))

    Can the extension be encrypted (it’s not my purpose)?
    Yes, if you also provide source code :)

    What if I change the code and want to share it publicly or privately?
    Publicly it needs to be OSL, privately doesn’t matter, but if it’s good it probably doesn’t stay private for long after you share it ;).


    Guido

    #29741

    Guido Jansen
    Participant

    oh, as an addition:

    Can the extension be encrypted (it’s not my purpose)?
    Yes, if you also provide source code

    that is if you license it OSL, otherwise do as you want

    What if I change the code and want to share it publicly or privately?
    Publicly it needs to be OSL, privately doesn’t matter, but if it’s good it probably doesn’t stay private for long after you share it .

    Only if you talk about the OroCRM code, for an extension you can do as you want.


    Guido

    #29742

    msarandi
    Participant

    I think this was answered nicely above. One addition I will make is we wanted to make The OroPlatform a viable option for companies to create their own commercial software applications. After studying the options we felt the best license to foster this was the MIT license. We obviously didn’t expect the same would be the case for OroCRM, but wanted to choose a license that would offer flexibility in creating extensions, and all the answers that Guido provided above on extensions for OroCRM are correct.

    #29743

    diglin
    Participant

    Sorry for the delay, I don’t receive any notification.

    Thanks a lot Guido for your complete explanation and to Jary to confirm it.

    So I think it will be a good start for anyone having to deal with extension or development with OroPlatform and OroCRM.

    With some people at the Meet Magento, we had the idea to develop a new web application based on OroPlatform as an open source. We will see if really something concrete happens.

    There is still an open question or interpretation about “Derivative Works”. Like in Magento, I still don’t see what is Derivative Works.

    My understanding could be:
    – If I take a code from Magento Core or OroCRM, adapt it and want to sale it, the code must be OSL and the source open. Am I right?
    – If I develop an extension which extends OroCRM/Magento classes, is it still “Derivative Works” ?
    – If I develop an extension and there is no extend from core but just use the intern process and config, it’s not deritative works. Am I right?

    Regards
    Sylvain

    #29744

    msarandi
    Participant

    Lots to parse out from that question, but let me try to answer. First we hope you take the OroPlatform and create an application! Because the OroPlatform is under the MIT license, you would have no issue either open sourcing or creating a closed source commercial application using the Platform alone.

    To answer your other questions:
    – If I take a code from Magento Core or OroCRM, adapt it and want to sale it, the code must be OSL and the source open. Am I right? Yes – that is correct as this is under the OSL 3.0 license.
    – If I develop an extension which extends OroCRM/Magento classes, is it still “Derivative Works” ? If you are developing an extension for OroCRM and not using OroCRM core code in your extension, you can release it under whatever license you like. It is your code.
    – If I develop an extension and there is no extend from core but just use the intern process and config, it’s not deritative works. Am I right? Again, if you aren’t using OroCRM code in yours, you can release under any license you like.

    I hope this helps!

    Jary

    #29745

    Webb
    Participant

    Thanks Jary for your detailed explanation.

    Just want some further clarification on the differences between “Derivative Works” and “Extensions”.

    For example, we want to create a cms application for our client on top of OroCRM, i.e. import oroplatform and orocrm bundles to symfony and use the orocrm UI. Here are some questions:

    1.If we develop some other bundles, e.g. Documents, Nodes, Media, Pages, Member etc., and none of the code in original OroCRM is changed (maybe slightly amended), are those new bundles considered as Derivative Works or Extensions?

    2.Does the new cms application have to be released under OSL3 license? Do we need to provide link for downloading the source code of the new bundles we developed?

    3.If we run the application as SaaS platform, do we need to state the original OSL3 or mention OroCRM on our website? In this case, can we assume it’s ok just to include the OroCRM OSL3 license in the source code hosted on the web server and that’s all?

    Looking forward to your kind answers. Many thanks.

    #29746

    msarandi
    Participant

    Great questions and thanks for asking them. Below are answers:

    1.If we develop some other bundles, e.g. Documents, Nodes, Media, Pages, Member etc., and none of the code in original OroCRM is changed (maybe slightly amended), are those new bundles considered as Derivative Works or Extensions? It depends on how the code is written and delivered. If it is written on top of OroCRM and released as a product in conjunction with OroCRM code, it is derivative works. If it is bundled without using any OroCRM code, but can run on top of OroCRM, it can be released as an extension on top of OroCRM. I am happy to discuss the nuance further here if you like.
    2.Does the new cms application have to be released under OSL3 license? Do we need to provide link for downloading the source code of the new bundles we developed? Again if the new CMS application is built on OroCRM it would need to be released under OSL3 license.
    3.If we run the application as SaaS platform, do we need to state the original OSL3 or mention OroCRM on our website? In this case, can we assume it’s ok just to include the OroCRM OSL3 license in the source code hosted on the web server and that’s all? You will have to talk to a legal expert on what your obligations are for derivative works and a hosted offering. If you would like to talk about building an extension or potentially licensing OroCRM for a SaaS CMS product we are happy to engage in a dialogue about how that could work.

    #29747

    Patrik Karisch
    Participant

    So a bundle which is intented to use in the OroCRM must be OSL3? But it can be a paid bundle?

    #29748

    msarandi
    Participant

    Hi Patrick,
    I would need more information to answer your question. Are you using any of the OroCRM code or will it be an extension on top of OroCRM?

    Thanks,
    Jary

    #29749

    Patrik Karisch
    Participant

    One idea of a colleague was an customer event inviting system. So we hook into the calendar/events and can add contacts to invite to an event. This invitations my be send via email or print or something else. So yeah, basically it would extend OroCRM but for this it must use OroCRM code.(?)

    Other idea was to extend OroCRM to write and send quotes and stuff directly from the sales process.

    #29750

    Chandramouli
    Participant

    Hi Jary,

    Thanks for the excellent post.

    Let’s say I download OroCRM and use it in an application that I build for my company but not going to sell or redistribute the application. I’d like to understand following scenarios:
    1). If I make changes in the OroCRM core code itself, how should I proceed? Since the code is for an application developed for company’s use and not sold or redistributed, should the code of this app made available freely too?
    2). If I extend classes from OroCRM (e.g. OroCRM\Bundle\SalesBundle\Entity\Lead) but not making any changes in core itself, what should I do?

    Thanks,
    Mouli

    #29751

    msarandi
    Participant

    If you are not planning to sell or redistribute your application you are good to go.

    I wanted to add from programming stand point that you should not change the core code it self as this will cause a lot of difficulty if you will want to upgrade to a newer version. So try to use option 2 as you listed above

    Thanks

    yoav

    #29752

    Chandramouli
    Participant

    Thanks Yoav for the reply.

    Certainly, I understand touching core is not good. I just wanted to understand scenario if it comes to that.

    #29753

    qfaison
    Participant

    Ok. So can a derivative of OroCRM specifically for an industry by sold for a fee in a multi-tenant/SAAS model under the OSL3 License?

    #29754

    msarandi
    Participant

    If it is a derivative work of OroCRM it needs to be licensed under OSL 3. You are allowed to provide a service on top of that. Alternatively, we have worked with several companies around a commercial offering of OroCRM specifically for an industry, where they are allowed to sell as a proprietary license. Feel free to reach out to me at jaryatorocrmdotcom if you want more information on that.

Viewing 15 replies - 1 through 15 (of 15 total)

The forum ‘OroCRM – License’ is closed to new topics and replies.

Back to top