"Mark Mikofski" <bwana...@yahoo.com
> wrote in message <jj3bpv$s39$1...@newscl01ah.mathworks.com
> "Mark Mikofski" <bwana...@yahoo.com
> wrote in message <jir0oc$goe$1...@newscl01ah.mathworks.com
> > I think it would be useful if the MATLAB community could organize to create a File Exchange package index tool that organized downloads from MATLAB Central File Exchange and also performed updates.
> > Here is one idea for a package index framework:
> > 1. Require FEPIT (file exchange package index tool) users to log into their Mathworks or MATLAB Central account.
> > 2. Create a database of File Exchange downloads for each user.
> > 3. When user connects to MATLAB Central, alert user of new versions of their downloaded files.
> > 4. MATLAB has FEPIT plugin under Help (BTW: fix the MATLAB Central links - they are all broken!)
> > 5. Opening the FEPIT plugin will show downloadeds from File Exchange, and if there are any updates.
> > 6. FEPIT plugin also lets user set default folder for extraction of downloaded File Exchange zip-files, and also whether or not they should be added to the path.
> > 7. Going forward FEPIT would provide the framework to organize dependencies.
> > 8. File Exchange needs a rating system that allows votes up and down, in addition to the 5-star system, so that quality apps in each area can reach the top.
One additional idea - and this one is a whopper, but it's maybe the most important idea in this thread. It's come to my attention that as MATLAB nears its 30 year anniversary, several of the File Exchange's (FEX's) most valuable contributors are leaving and they're taking their contributions with them. (see this post here:
and this post here:
I understand their reasons for wanting to leave: (1) tired of support, especially doit4me's, (2) cannot or no desire to update licenses, etc... If FEX were to switch to a repository model like Launchpad or Github (https://launchpad.net/
) then multiple benefits could be realized:
(1) FEX could become a teaching tool as MATLAB users FORKED and worked on contributions themselves, learning how they work and improving their understanding,
(2) quality contributions like the DERIVESTsuite would have so many FORKS and maintainers that it could never disappear,
(3) quality contributions would be taken over by the FORK most suited by natural selection or by maintainers (contributors who made pull requests) selected by the owner,
(4) support for quality contributions would be handled by a group of maintainers that are selected by the owner of the repository when they submit PULL REQUESTS to the owner and a dialog ensues between them allowing the owner to gauge the quality of the potential maintainer,
(5) more contributions would be made to FEX since as an online repository there would be more of an incentive to store your code there,
(6) matlab would finally have a built in interface to vcs, which is so sorely lacking, & really should be encouraged for any project,
(7) older version of contributions would be easy to get, for users running older version of MATLAB, since they could browse the repository
(8) a changelog would be the commit log,
(9) updating your local copies of files downloaded from FEX is as easy as fetching and merging your working copy in your FEX (this would be handled automatically by FEX desktop tool),
(10) posting updates to your contributions on FEX is as easy as push.
I could keep going on and on...
It's very clear that FEX (file-exchange) needs some modernization. I think that Subversion would probably work well for FEX, since it is very mature, ideal for centralization, open-source, multi-platform and nearly everyone is familiar or should be familar with it. (Git would be my second choice only because it is not truly multiplatform, since it requires so many minGW and msys libraries to run on windows.) The client would be the FEX Desktop Tool or FEPIT as I called it in the first post in this thread. I think that the website Launchpad for Ubuntu/Canonical and the Ubuntu Software Center (the new alternative for Synaptic/apt-get) are excellent examples.
So there you have it. I'm not sure what the expense is to TMW, and it's difficult to calculate the profits. But I think the payoff would be positive, because it would create a modern close-knit society of collaborators that would ultimately draw MORE users to MATLAB and ensure it's longevity. (Scilab, Python, and other are closing the gap VERY fast.)