MATLAB Answers

Is it good practice to take a File Exchange package and re-host independently on GitHub as a public repository for incorporating your own modifications?

조회 수: 2(최근 30일)
Matthew Thompson
Matthew Thompson 12 Jul 2018
There are FE packages I am using, but they contain some bugs and/or I am adding to or subtracting from them for other various reasons. I have recently begun to learn git, and wish to use this to track changes I make. As long as the BSD license accompanies them to their new home on GitHub, is there any issue with republishing them there?

  댓글 수: 3

dpb
dpb 12 Jul 2018
I think that will depend on the individual submission and if the author of it has placed any other requirements on it.
There is a link between FEX and GitHub for submittors to use; there is no mention in Terms Of Use that I see for taking another's submission and re-hosting it as far as TMW rules.
Personally, it seems rather rude without at least trying to contact the author altho probably within legal limits, again, presuming no additional terms/conditions placed on the submission by the original author beyond the standard TMW rules.
There are, of course, any number of adaptations of many submissions or alternate implementations of similar functionality that have been submitted as alternate entries with due credit for their descent from the original author.
If you're making significant corrections and/or enhancements, that's probably the route I'd suggest altho again common courtesy says...
Rik
Rik 13 Jul 2018
I ran into a similar issue with the isnetavl FEX submission (it checks if you are connected to the internet by pinging Google).
I extended it to be compatible with Ubuntu (and probably also Mac), added an optional output, checked if it also works on Octave, and made the tiny adjustment needed to also let it work on Matlab 6.5. I did post a comment stating that I would delete my submission if the original author would update his tool. I also included a direct link in the help block of my function.
That's how I solved it in this case. I think I would be hesitant to re-publish it on GitHub, as there it is harder to make it explicit that you're extending someone else's function, instead of creating your own from scratch.
Matthew Thompson
Matthew Thompson 13 Jul 2018
Within GitHub, creating a fork doesn't require special etiquette as far as I know. Anyone can fork any repo at any time, and GitHub makes this info available to the original authors and others who view the repo. Using this model as a standard for collaboration, I would see the current topic as a similar situation, though a bit clunkier in execution. So I see the best course of action to be as follows:
  1. Contact the author publishing on FEX or some other hosting medium (personal site, etc.), and request them to push the package to GitHub for streamlined collaboration. If they oblige, proceed with the traditional GitHub workflow.
  2. If they are unresponsive or not interested, the BSD license is permissive about redistribution (assuming this is the license used). From the FEX Licensing FAQ : "Do I have to acknowledge the author of code I'm reusing? No, but you do have to keep the original BSD license attached to the code and include it with any derivative work you create." Of course, other licenses would need to be followed per their specifications, and although author acknowledgement may not be strictly required, it is best to include anyway.
  3. If the license permits redistribution and modification, an independent GitHub repo containing the untouched original package could be created (also containing the original license and copyright info as required). After pushing to GitHub, it should be immediately and permanently branched to preserve the original package state, and the opening line of the README.md file should declare the project as a fork from the original work with original author credits and a link to the original package publication site.

댓글을 달려면 로그인하십시오.

답변(0개)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by