How to Upload modified code in File Exchange
Show older comments
Hello, I have downloaded and modified code distributed by matlab's file exchange. The code was accompanied by the usual BSD license. My question is if I can upload the modified code and what steps do I have to take. I am aware of the FAQ http://www.mathworks.com/matlabcentral/FX_transition_faq.html but I believe it's a bit unclear on the procedure and I can't find a walkthrough. Thank you in advance for your help.
1 Comment
Pasc Peli
on 21 Aug 2016
Accepted Answer
More Answers (2)
Pasc Peli
on 19 Oct 2016
1 vote
1 Comment
This does not answer the original question, which was "if I can upload the modified code and what steps do I have to take".
The question does not ask what steps can be taken, just what ones have to be taken.
Of course there are plenty of things that you could do: you could write a poem to the original author, or send them a birthday card, or sing them a song, or list their submission when you upload yours to FEX. However none of these have any legal meaning. They are not things that you have to do. Do them if you wish to, by all means.
As my answer explains, any permissions are granted by the BSD license of the original code. As long as you fulfill the conditions of this license then you upload the code wherever you want to.
The fact that MATLAB provides a box for listing other FEX uploads that you have used makes absolutely no difference to what you are allowed to do. That box is a social nicety, but has absolutely no legal meaning (afaik). The BSD license certainly does not require listing the source submissions when you upload to FEX, but it does require including the original license when you distribute that code.
So your own answer does not even mention the steps that you have to do (include a copy of the license), yet it does mention steps that you do not have to do at all.
John D'Errico
on 4 Jan 2017
Edited: John D'Errico
on 4 Jan 2017
0 votes
As an author of many heavily used tools on the FEX, I'll suggest that it is important to ask the author for their approval. (Note that this is only my own opinion, as an author.) Show what you did. Even then, issues can arise. Why do I say this?
You cannot simply update their code, on their submission, as only the author has permission to do so. So, the two options are:
1. To send your modified code to the original author, offering the improved version to them to repost, with thanks to you of course.
2. To post a modified version, under your own name, referencing your version. Explain CLEARLY what is different of course.
If they post your code as an improved version of their own code, then the author must now maintain it, and be able to treat it as if it is theirs. The problem is, most of the time that I see modifications to my code done by others, those mods are what I'd call hacks. I.e., poorly implemented versions that (probably) do what the modder wants, but are not up to the standards of code that I would write on my own. But if I post code with a mod in it, I will still need to maintain that code, as if it was my own code! So, before I'd post modded code, I'd need almost always to implement the fundamental idea of the mods done to the code so they were up to my own coding standards.
If you post a modified version, under your own name, but implying that your version is better, then it should indeed be better code. And you need to maintain it. Otherwise, you are doing a major disservice to the original author. I'd had people send me e-mail, asking for help on code of mine that they had modified, or been modified by someone else. The rule in free software MUST be that if you modify it, you bought it. Any problems at all in that code are now yours to own.
Categories
Find more on Introduction to Installation and Licensing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!