Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Page 2 of 4
commercial license? 
 
i960
Guru
 
Avatar
Total Posts:  633
Joined:  2007-10-01
Bakersfield, CA
 
tjscgroup - 24 October 2008 06:43 PM

I think the OSL license is pretty clear...here are a few examples:

All of your examples (with Roy’s clarifications) make perfect sense to me.  I am less confused about IF changes need to be released under OSL, but WHO has to release those changes.

I’ll give you two specific examples that apply to my store.

Example 1.) I am using Fooman Speedster (http://www.magentocommerce.com/extension/457/fooman-speedster).  I haven’t looked too much at the code so I’m not sure how much if any core code was modified to achieve this, but let’s just assume that some core code has been used.  Fooman has obviously made this code public and released it under the OSL license.  Awesome, no confusion there.  However, the use of this code causes all of the javascript files to be minified on the fly and then cached, including javascript written by Varien and released under the OSL license.  So now my store is serving up modified core files that were not provided by Fooman.  Is there a requirement then to release these javascript files to the public in their modified state, and who is required to do so, Fooman because he released the code that makes it work, or myself because I am using the code and the modified files were created on my server?

Example 2.) I have copied the following core file:

/app/code/core/Mage/Catalog/Block/Category/View.php

And placed it here:

/app/code/local/Mage/Catalog/Block/Category/View.php

Then on line 44 I changed this code:

$headBlock->setTitle($title.' '.Mage::getStoreConfig('catalog/seo/title_separator').' '.Mage::getStoreConfig('system/store/name'));

To this code:

$headBlock->setTitle($title . (Mage::registry('current_category') ? ' '.Mage::getStoreConfig('catalog/seo/title_separator').' '.Mage::registry('current_category')->getName() : '') );

I believe there is another file that I’ve changed related to this, but that’s enough to illustrate my point.  This code was not written by me, and it’s from this thread: http://www.magentocommerce.com/boards/viewthread/5442/P0/

According to the OSL license, this new code must be released because it is a derivative work of core code.  But who is required to release it?  I didn’t write that code, and to me creating an extension out of it and releasing it via Magento Connect under the OSL license is not my place and would be equivalent to taking credit for someone else’s work.  But I am the one who made the changes by hand to my own store.  Now since the modified code is in fact publicly available in that thread, does that satisfy the license?  There is no mention near that code of it being released under the OSL license, so must those words be put near the code or is it just assumed that it’s been released under that license?

And one last question.  Let’s say I do modify core files myself, and release those via Magento Connect under the OSL license.  Is it possible for a competitor of mine to demand that I send all of my modified files to him, or can I tell them to go pound sand since I’ve already made the code public?

 
Magento Community Magento Community
Magento Community
Magento Community
 
tjscgroup
Sr. Member
 
Avatar
Total Posts:  146
Joined:  2008-09-24
United Kingdom
 
RoyRubin - 25 October 2008 06:44 AM

Example Three: I write a 1000 line script that does [enter whatever you like here] AND I add 1 line to a core file to connect my new script to Magento, I have to release my 1001 lines via OSL

You have to release the 1 line change, but not your 1000 line script.

Roy

Example Three, Four and Five related to the same thing...that Derivative Works must be disclosed.  So what is a Derivative Work?  Is it just the one line or the 1001 lines?  You are saying that it is only the one line...this is great news. grin

Therefore:

(lets say Magento has files called /core/search.php that links to core/advanced_search.php)

If my developers create from scratch /local/advanced_search_new.php

Then my developers copy /core/search.php to /local/search.php and edit to link to /local/advanced_search_new.php instead

/local/advanced_search_new.php - can be released under any license I like
/local/search.php - must be released under OSL

I am correct?

Many thanks in anticipation

Toby

 
Magento Community Magento Community
Magento Community
Magento Community
 
lotusseedsD
Mentor
 
Avatar
Total Posts:  1144
Joined:  2007-08-31
 

Roy, thanks so much for the quick response. Much appreciated!!!!!

Example Three: I write a 1000 line script that does [enter whatever you like here] AND I add 1 line to a core file to connect my new script to Magento, I have to release my 1001 lines via OSL

I thought I have to release 10001 line of code too grin

 
Magento Community Magento Community
Magento Community
Magento Community
 
RoyRubin
Enthusiast
 
Avatar
Total Posts:  968
Joined:  2007-08-07
Los Angeles, CA
 

Unlike with the GPL and other licenses that leave you wondering what a derivative work is, OSL 3.0 defines that term for you.

Under that license, you create a “Derivative Work” when you “translate, adapt, alter, transform, modify, or arrange the Original Work” (§1(b)). As you described the situation, your one line of code is a “modification” and so you are authorized to do that to create a Derivative Work, which you must then disclose under OSL 3.0.

The 1000 line program that you created independently is your own work. Do with it whatever you want. We hope you will contribute such important works back to the Magento community, but you’re not required to do so by the license.

 
Magento Community Magento Community
Magento Community
Magento Community
 
tjscgroup
Sr. Member
 
Avatar
Total Posts:  146
Joined:  2008-09-24
United Kingdom
 

Thanks Roy for clarifying the licensing position.

As I said in my first post in this thread:

Although most/all of the work I plan on getting my developers to do, I am happily going to release as extensions via MagentoConnect (with the hope that Varien will actually add them to the core)…

so I look forward to contributing to your awesome platform.

As I have your attention at the moment, any chance you could comment on this post: Order Status Management wink

Toby

 
Magento Community Magento Community
Magento Community
Magento Community
 
LesF
Jr. Member
 
Avatar
Total Posts:  5
Joined:  2008-10-01
 
RoyRubin - 24 October 2008 10:48 AM

Here’s a breakdown:

- Extensions (typically found in the local/community folders): These works can be licensed under any license of your choosing. This means you can do as you wish with your works that are started from scratch.

- Core Code (including Varien JS files): These files are licensed under OSL 3.0. If you touch these files it is considered derivative works. If such derivative works are distributed (ie. your store is available online) - you will have to license your changes under OSL 3.0 and thus make them publicly available. This is where the commercial license comes in - if you are not prepared to distribute and share the source code of your application under the OSL license, we do offer a commercial license which waives this requirement.

- As of the next release (1.1.7+), we will relax Magento’s licensing to make clear that your own versions of Magento’s default design packages (templates, themes, layouts, skins), language packs, and configuration files, including XML files used to direct Magento’s functionality, although they are derivative works of Magento under copyright law, need not be disclosed to anyone. As such, those files will be licensed by Varien under AFL 3.0. We’ve started doing this as you can see here - http://www.magentocommerce.com/blog/comments/magento-connect-relaxed-licensing-to-selected-extensions/

+++++++++++++++++++++++++

Thanks Roy - I think 1.17 will make things a little easier for Developers etc.... As it stands, making 1 small change in code requires one to share it with the world (so to speak). This is somewhat onerous and impossible to track (I think). By relaxing the licensing, as you just have, you will gain new adopters of your product. November’s changes will make things even better.

 
Magento Community Magento Community
Magento Community
Magento Community
 
RoyRubin
Enthusiast
 
Avatar
Total Posts:  968
Joined:  2007-08-07
Los Angeles, CA
 

@LesF - We agree smile The intent is to clarify the separation between OSL and AFL so the community can have a good understanding of the different licenses. We will issue another announcement right before the 1.1.7 release with further clarifications.

 
Magento Community Magento Community
Magento Community
Magento Community
 
FOOMAN
Guru
 
Avatar
Total Posts:  669
Joined:  2007-12-13
Auckland, New Zealand
 

Hi Roy,

Thanks for all the clarifications.

What I would be interested in is this. Currently Magento itself incorporates a whole heap of different licenses under its hood. For example:

Zend Framework - new BSD license
Prototype - MIT-style license
script.aculo.us - BSD style?
extJS - GNU GPL license v3?
googlecheckout - Apache License, Version 2.0
LinLibertineFont - GNU GPL license v2 with font exception
DHTML Calendar - GNU Lesser General Public License

When you purchase the commercial license from Varien does that then include commercial licenses for all of the above? Or are you still bound by the respective licenses of the libraries/frameworks? And what are the practical consequences of it?

 
Magento Community Magento Community
Magento Community
Magento Community
 
RoyRubin
Enthusiast
 
Avatar
Total Posts:  968
Joined:  2007-08-07
Los Angeles, CA
 

We only license our work and nothing else. You are still bound by each respective license for the various components.

 
Magento Community Magento Community
Magento Community
Magento Community
 
R22B
Sr. Member
 
Total Posts:  76
Joined:  2008-06-12
 

What if we pay someone to work on our site and they made changes to the core file? Who needs to release the work, them or us?

 
Magento Community Magento Community
Magento Community
Magento Community
 
RoyRubin
Enthusiast
 
Avatar
Total Posts:  968
Joined:  2007-08-07
Los Angeles, CA
 

It makes no difference to us. The code must be licensed under OSL if derivative work is distributed and available to the public.

 
Magento Community Magento Community
Magento Community
Magento Community
 
retif
Sr. Member
 
Total Posts:  171
Joined:  2008-08-16
Odessa, Ukraine
 

overriding some methods of the core/community block/controller/model in local code pool is derivative work?

 
Magento Community Magento Community
Magento Community
Magento Community
 
lotusseedsD
Mentor
 
Avatar
Total Posts:  1144
Joined:  2007-08-31
 

Technically, how does one go about to release a derivative work? Especially if it’s just a few line of codes. 
It seems that most community members aren’t interested in modifying the core code because they want ‘update compatibility’.

 
Magento Community Magento Community
Magento Community
Magento Community
 
RoyRubin
Enthusiast
 
Avatar
Total Posts:  968
Joined:  2007-08-07
Los Angeles, CA
 

@alex22 - Overriding is not considering derivative work.

@chinesedream - Google Code should do it.

 
Magento Community Magento Community
Magento Community
Magento Community
 
tjscgroup
Sr. Member
 
Avatar
Total Posts:  146
Joined:  2008-09-24
United Kingdom
 

Google Code does not support OSL BTW

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top
Page 2 of 4