Is Ruby on Rails an OpenSource Superconductor?
This post at port 25 (thanks for the heads up James) talks about how Microsoft are considering moving collaborative software development forward, something which as a developer I appreciate. Unfortunately their first point (Part 1) based on some internal Microsoft coder watching was ‘Code itself was a poor conductor’ or ‘Bad currency’ for transmission of design knowledge. This immediately stood out as suspicious to me, so much weight in the OpenSource development communities is rested on using and referring to ‘The Code’. This would suggests that many OpenSource communities are misplaceing their communication reliance on Code Sharing as a primary mechanism for knowledge exchange. The reality also seems to work against this internal Microsoft research, as OpenSource seems to thrive on this ingrained approach.
Thus I think what we might be seeing here is a difference in cultures, Microsoft favouring abstraction and visualisatiuon of the code Vs OS communties promoting the design/documentation is in the code. I also think the languages and tools have a major effect, for example Ruby on Rails (ROR) is a veritable ‘superconductor’ compared to the IDE assisted languages Like C# and Java with their complex libraries and syntax. here’s a couple of simple ruby examples :
class Post < ActiveRecord::Base
has_one :author
end
class Author < ActiveRecord::Base
belongs_to :post
end
One really doesn’t need to add any more documentation than that, no need for a UML diagram. This also helps with the other critical requirement of nowadays development - agility. To be agile one ‘codes’ rather than ‘procrastinates’ via abstract UML diagrams, that way you actually get to a more suitable, tested solution interactively and rapidly.
The article also goes on to criticize mailing list as another poor collaborative choice for information sharing on projects, I agree on some of this, but tools like GMail improve mail list experience significantly. Also Most larger projects employ Wikis, Blogs and RSS feeds to help augment such communication in addition to the mailing list. It is also important to note that many of OS community tools are chosen for low barrier, allowing maximum participation, unlike what may be hinted to in the article for our futures.
What do you think? Am I being old fashioned ?