{"id":3737,"date":"2012-07-20T10:37:30","date_gmt":"2012-07-20T15:37:30","guid":{"rendered":"https:\/\/blogs.mathworks.com\/pick\/?p=3737"},"modified":"2012-07-20T10:37:30","modified_gmt":"2012-07-20T15:37:30","slug":"addressing-a-users-comment-collaborating-on-the-file-exchange","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/pick\/2012\/07\/20\/addressing-a-users-comment-collaborating-on-the-file-exchange\/","title":{"rendered":"Addressing a User&#8217;s Comment: Collaborating on the File Exchange"},"content":{"rendered":"<div xmlns:mwsh=\"https:\/\/www.mathworks.com\/namespace\/mcode\/v1\/syntaxhighlight.dtd\" class=\"content\">\r\n   <introduction>\r\n      <p>This week, in lieu of a Pick, I wanted to address <a href=\"https:\/\/blogs.mathworks.com\/pick\/2012\/06\/15\/library-of-3d-geometry\/#comments\">a comment<\/a> that Mark Selby made to one of <a href=\"https:\/\/blogs.mathworks.com\/pick\/2012\/06\/15\/library-of-3d-geometry\/\">Jiro's recent Picks<\/a>.\r\n      <\/p>\r\n   <\/introduction>\r\n   <p>Paraphrasing Mark: <i>One thing I wondered: do you (i.e., MathWorks) have opinions on how best to make open-source submissions and get collaborative\r\n         projects going--a bit like SourceForge or Google Code for use in the MATLAB environment? I&#8217;ve often wondered why the FEX doesn&#8217;t\r\n         support this model. A number of times, I&#8217;ve extended the functionality of something I&#8217;ve downloaded from here, often addressing\r\n         what I think is a common use-case, but have no way of giving this back to the community without posting whole new submission.\r\n         Likewise, I&#8217;ve not submitted an early stage project because it&#8217;s not quite there but also feeling that I&#8217;m developing something\r\n         that a wider community might really latch on to and help take forwards.<\/i><\/p>\r\n   <p>Mark, this is not an \"official\" answer; I'm not sure that there <i>is<\/i> an official answer. But I have some thoughts on these topics, and I thought I would share them, and invite anyone who cares\r\n      to, to chime in with their own musings.\r\n   <\/p>\r\n   <p>First, regarding the use of the File Exchange for collaborative coding, I will mention that there was a bit of talk a few\r\n      years back about possibly moving in that direction, but we decided, at least for the time being, that that wasn't the direction\r\n      we wanted to take the File Exchange. Most users are content to share their files as is, and aren't necessarily looking for\r\n      a framework for collaboration. (That said, there <i>are<\/i> sites--like sourceforge itself-- where users can share their MATLAB code for community development. For example, <a href=\"http:\/\/sourceforge.net\/directory\/os:windows\/freshness:recently-updated\/?q=matlab\">search sourceforge.net for keyword \"MATLAB.\"<\/a>)\r\n   <\/p>\r\n   <p>Your second point--about extending functionality of File Exchange submissions--strikes a chord with me. For the most part,\r\n      we really like to see submissions offered under the <a href=\"https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/view_license?file_info_id=37560\">BSD license agreement<\/a>. This is a fairly permissive license, so you're largely free to modify files as you see fit. (Read the license--you'll have\r\n      to keep the copyright in place, but you can redistribute with or without modification.) Still, I think that you should recognize\r\n      that a lot of contributors worked hard on their submissions, and shared them freely and generously with the MATLAB community.\r\n      Many contributors expressly ask for feedback, and are very responsive to enhancement requests and bug reports.\r\n   <\/p>\r\n   <p>I shared one of my own files (<a href=\"https:\/\/blogs.mathworks.com\/pick\/2011\/08\/19\/morphologically-altering-images-interactively\/\">MorphTool<\/a>) even though I know it is a work in progress, and that it has some holes in its functionality. Even in its current state,\r\n      I find it very useful, and think that others will, too. I continue to work on it as time permits, and will continue to post\r\n      updates as I implement them. In the meantime, I've expressly asked for feedback and suggestions--and am always pleased to\r\n      receive them. I'd be less pleased if someone changed the color of my background (so to speak) and posted as their own a \"new,\r\n      improved MorphTool.\"\r\n   <\/p>\r\n   <p>My personal feeling is that you should \"do the right thing\" when considering tweaks to someone else's code. While you <i>may<\/i> simply modify someone else's code and post it as your own, the original author may appreciate being given the opportunity\r\n      to make the enhancements him\/herself. Use your best judgement, and be courteous. And always cite submissions that inspired\r\n      your own work.\r\n   <\/p>\r\n   <p>If there's to be a dialog about these topics, this is a <a href=\"https:\/\/blogs.mathworks.com\/pick\/?p=3737#respond\">great place for it to unfold!<\/a><\/p><script language=\"JavaScript\">\r\n<!--\r\n\r\n    function grabCode_36d70dbe930d4f058439dc9978cf8394() {\r\n        \/\/ Remember the title so we can use it in the new page\r\n        title = document.title;\r\n\r\n        \/\/ Break up these strings so that their presence\r\n        \/\/ in the Javascript doesn't mess up the search for\r\n        \/\/ the MATLAB code.\r\n        t1='36d70dbe930d4f058439dc9978cf8394 ' + '##### ' + 'SOURCE BEGIN' + ' #####';\r\n        t2='##### ' + 'SOURCE END' + ' #####' + ' 36d70dbe930d4f058439dc9978cf8394';\r\n    \r\n        b=document.getElementsByTagName('body')[0];\r\n        i1=b.innerHTML.indexOf(t1)+t1.length;\r\n        i2=b.innerHTML.indexOf(t2);\r\n \r\n        code_string = b.innerHTML.substring(i1, i2);\r\n        code_string = code_string.replace(\/REPLACE_WITH_DASH_DASH\/g,'--');\r\n\r\n        \/\/ Use \/x3C\/g instead of the less-than character to avoid errors \r\n        \/\/ in the XML parser.\r\n        \/\/ Use '\\x26#60;' instead of '<' so that the XML parser\r\n        \/\/ doesn't go ahead and substitute the less-than character. \r\n        code_string = code_string.replace(\/\\x3C\/g, '\\x26#60;');\r\n\r\n        author = 'Brett Shoelson';\r\n        copyright = 'Copyright 2012 The MathWorks, Inc.';\r\n\r\n        w = window.open();\r\n        d = w.document;\r\n        d.write('<pre>\\n');\r\n        d.write(code_string);\r\n\r\n        \/\/ Add author and copyright lines at the bottom if specified.\r\n        if ((author.length > 0) || (copyright.length > 0)) {\r\n            d.writeln('');\r\n            d.writeln('%%');\r\n            if (author.length > 0) {\r\n                d.writeln('% _' + author + '_');\r\n            }\r\n            if (copyright.length > 0) {\r\n                d.writeln('% _' + copyright + '_');\r\n            }\r\n        }\r\n\r\n        d.write('<\/pre>\\n');\r\n      \r\n      d.title = title + ' (MATLAB code)';\r\n      d.close();\r\n      }   \r\n      \r\n-->\r\n<\/script><p style=\"text-align: right; font-size: xx-small; font-weight:lighter;   font-style: italic; color: gray\"><br><a href=\"javascript:grabCode_36d70dbe930d4f058439dc9978cf8394()\"><span style=\"font-size: x-small;        font-style: italic;\">Get \r\n            the MATLAB code \r\n            <noscript>(requires JavaScript)<\/noscript><\/span><\/a><br><br>\r\n      Published with MATLAB&reg; 7.14<br><\/p>\r\n<\/div>\r\n<!--\r\n36d70dbe930d4f058439dc9978cf8394 ##### SOURCE BEGIN #####\r\n%% Addressing a User's Comment\r\n%\r\n% This week, in lieu of a Pick, I wanted to address\r\n% <https:\/\/blogs.mathworks.com\/pick\/2012\/06\/15\/library-of-3d-geometry\/#comments a comment> \r\n% that Mark Selby made to one of <https:\/\/blogs.mathworks.com\/pick\/2012\/06\/15\/library-of-3d-geometry\/ Jiro's recent Picks>.\r\n\r\n%%\r\n% Paraphrasing Mark: \r\n% _One thing I wondered: do you (i.e., MathWorks) have\r\n% opinions on how best to make open-source submissions and\r\n% get collaborative projects goingREPLACE_WITH_DASH_DASHa bit like SourceForge\r\n% or Google Code for use in the MATLAB environment? I\u00e2\u20ac\u2122ve\r\n% often wondered why the FEX doesn\u00e2\u20ac\u2122t support this model. A\r\n% number of times, I\u00e2\u20ac\u2122ve extended the functionality of\r\n% something I\u00e2\u20ac\u2122ve downloaded from here, often addressing what\r\n% I think is a common use-case, but have no way of giving\r\n% this back to the community without posting whole new\r\n% submission. Likewise, I\u00e2\u20ac\u2122ve not submitted an early stage\r\n% project because it\u00e2\u20ac\u2122s not quite there but also feeling that\r\n% I\u00e2\u20ac\u2122m developing something that a wider community might\r\n% really latch on to and help take forwards._\r\n% \r\n%%\r\n% Mark, this is not an \"official\" answer; I'm not sure that\r\n% there _is_ an official answer. But I have some thoughts on\r\n% these topics, and I thought I would share them, and invite\r\n% anyone who cares to, to chime in with their own musings.\r\n\r\n%%\r\n% First, regarding the use of the File Exchange for collaborative\r\n% coding, I will mention that there was a bit of talk a few years back about\r\n% possibly moving in that direction, but we decided, at least for the time being,\r\n% that that wasn't the direction we wanted to take the File Exchange. Most users\r\n% are content to share their files as is, and aren't necessarily looking for \r\n% a framework for collaboration. (That said, there _are_ sitesREPLACE_WITH_DASH_DASHlike sourceforge itselfREPLACE_WITH_DASH_DASH\r\n% where users can share their MATLAB code for community development. For example,\r\n% <http:\/\/sourceforge.net\/directory\/os:windows\/freshness:recently-updated\/?q=matlab search sourceforge.net for keyword \"MATLAB.\">)\r\n\r\n%%\r\n% Your second pointREPLACE_WITH_DASH_DASHabout extending functionality of File\r\n% Exchange submissionsREPLACE_WITH_DASH_DASHstrikes a chord with me. For the\r\n% most part, we really like to see submissions offered under\r\n% the\r\n% <https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/view_license?file_info_id=37560 BSD license agreement>. This is a fairly permissive\r\n% license, so you're largely free to modify files as you see\r\n% fit. (Read the licenseREPLACE_WITH_DASH_DASHyou'll have to keep the copyright\r\n% in place, but you can redistribute with or without\r\n% modification.) Still, I think that you should recognize\r\n% that a lot of contributors worked hard on their\r\n% submissions, and shared them freely and generously with\r\n% the MATLAB community. Many contributors expressly ask for\r\n% feedback, and are very responsive to enhancement requests\r\n% and bug reports.\r\n\r\n%%\r\n% I shared one of my own files \r\n% (<https:\/\/blogs.mathworks.com\/pick\/2011\/08\/19\/morphologically-altering-images-interactively\/ MorphTool>) \r\n% even though I know it is a work in progress, and that it has some holes in its functionality.\r\n% Even in its current state, I find it very useful, and think that others will, too.\r\n% I continue to work on it as time permits, and will continue to \r\n% post updates as I implement them. In the meantime, I've\r\n% expressly asked for feedback and suggestionsREPLACE_WITH_DASH_DASHand am\r\n% always pleased to receive them. I'd be less pleased if someone changed\r\n% the color of my background (so to speak) and posted as their own a \"new, improved MorphTool.\" \r\n%\r\n%%\r\n% My personal feeling is that you should \"do the right\r\n% thing\" when considering tweaks to someone else's code.\r\n% While you _may_ simply modify someone else's code and post it as your own, the original author may\r\n% appreciate being given the opportunity to make the enhancements him\/herself. Use your best judgement,\r\n% and be courteous. And always cite submissions that\r\n% inspired your own work.\r\n\r\n%%\r\n% If there's to be a dialog about these topics, this is a\r\n% <https:\/\/blogs.mathworks.com\/pick\/?p=3737#respond great place for it to unfold!>\r\n\r\n##### SOURCE END ##### 36d70dbe930d4f058439dc9978cf8394\r\n-->","protected":false},"excerpt":{"rendered":"<p>\r\n   \r\n      This week, in lieu of a Pick, I wanted to address a comment that Mark Selby made to one of Jiro's recent Picks.\r\n      \r\n   \r\n   Paraphrasing Mark: One thing I wondered:... <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/pick\/2012\/07\/20\/addressing-a-users-comment-collaborating-on-the-file-exchange\/\">read more >><\/a><\/p>","protected":false},"author":34,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[16],"tags":[],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/posts\/3737"}],"collection":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/users\/34"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/comments?post=3737"}],"version-history":[{"count":11,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/posts\/3737\/revisions"}],"predecessor-version":[{"id":3753,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/posts\/3737\/revisions\/3753"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/media?parent=3737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/categories?post=3737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/tags?post=3737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}