The beauty of Free Software Development and Free Software Community

  • user warning: Out of resources when opening file '/tmp/#sql_770e_0.MYD' (Errcode: 24) query: SELECT t.* FROM term_node r INNER JOIN term_data t ON r.tid = t.tid INNER JOIN vocabulary v ON t.vid = v.vid WHERE r.vid = 80 ORDER BY v.weight, t.weight, in /home/anoopjoh/public_html/modules/taxonomy/taxonomy.module on line 617.
  • user warning: Out of resources when opening file '/tmp/#sql_770e_0.MYD' (Errcode: 24) query: SELECT c.cid as cid,, c.nid, c.subject, c.comment, c.format, c.timestamp,, c.mail, c.homepage, u.uid, AS registered_name, u.signature, u.signature_format, u.picture,, c.thread, c.status FROM comments c INNER JOIN users u ON c.uid = u.uid WHERE c.nid = 80 AND c.status = 0 ORDER BY c.thread DESC LIMIT 0, 50 in /home/anoopjoh/public_html/modules/comment/comment.module on line 992.
  • user warning: Out of resources when opening file '/tmp/#sql_770e_0.MYD' (Errcode: 24) query: SELECT DISTINCT b.* FROM blocks b LEFT JOIN blocks_roles r ON b.module = r.module AND = WHERE b.theme = 'amadou' AND b.status = 1 AND (r.rid IN (1) OR r.rid IS NULL) ORDER BY b.region, b.weight, b.module in /home/anoopjoh/public_html/modules/block/block.module on line 433.

When you work in the software industry, either in the services sector, or in the products sector, you never get to see the harmony, the cooperation and the amiability that, you find in the Free Software Community. I am not claiming that, it is all friendly, harmonious and amiable, but you get to feel it very often, and in quite a lot of communities, and when you do, it is bliss. I had earlier written on the monetary aspects of Free Software development. Today I will share one of my personal experiences in getting a feel of the bliss mentioned above.

Free Software Community is fundamentally a meritocracy where you get judged by your contribution and your capability. It is not that people are ruthless and look only from the meritocratic perspective. On the contrary people are normally ready to help you while you are out there. When you face problems somebody would guide you towards a solution. Experts will normally help you move in the path towards expertise. When you make mistakes people will criticize you, but then they will also tell you how to rectify your errors, and would probably also help you rectify your errors.

It is all fundamentally a philosophy of sharing - sharing knowledge, sharing capability. In a typical meritocracy there is no place for weaklings. But in Free Software newbies are normally guided towards expertise provided they stay in the loop. At Zyxware we have had the opportunity to get a feel of this process first hand.

When we set up our site, we wanted some way for our visitors to subscribe to the comments that they post on the site. We had used Drupal to set up the site and we found a module comment_notify that did almost what we wanted but not quite. The module allowed people to subscribe to all comments to any given article. So if I was a visitor and I comment on an article, I would get notifications for every comment that was posted under the article.

We felt that we wanted something more targeted and less email-intensive than the above strategy. We wanted a module that sends out notifications to the authors of comments, only for replies to their comments. Additionally the comment_notify module required users to be logged on to be able to subscribe to the comments, but we wanted anonymous users also to be able to subscribe to comments. The module comment_notify was not being maintained by its author and we wanted our feature fast. was on shared hosting and we had very intensive commenting happening on our site and hence we could not afford to have too many notifications sent out per hour.

Since there was no other ready to go module with the features that we wanted we hacked the comment_notify module and created a comment_subscribe module that did just what we wanted. Like is wont with us, we contributed the module back to the community and it was accepted by as a module.

Surprisingly the module became reasonably very popular because it looked like people were looking for such features. It was around this time that we organized the one week long GNU Linux Install Fest in Technopark and then right away after that the Freedom Walk campaign.

In the ensuing hurry-burry we failed to monitor the Issue queue of comment subscribe module and issues started piling up. It was at this time that one of the very active contributors to the Drupal project Greg Knaddison and the author of the extremely popular Pathauto module came across the sad status of the comment subscribe issue queue.

Now comes one beautiful aspect of Free Software. If the developer of a software stops developing it and the software is good, somebody will take up the development and continue the good work. Greg Knaddison a.k.a greggles took up the responsibility of the comment_notify module since that was the original module and started solving the problems in the issue queue one by one.

By the time I came back on scene and realized the issue greggles had done massive upgradation to the comment_notify module and the development on the project was going smooth. After I came back from Freedom Walk we resumed the support of comment_subscribe module and greggles once again suggested that we stop duplicating our efforts and join hands together for the comment_notify module. He had earlier suggested it once during the initial stages of the comment_subscribe module. At this point of time the only feature in comment_subscribe that was not supported in comment_notify was the support for notification on threaded comments. Support for anonymous commenting was already implemented by Greg.

Here comes another beautiful aspect of Free Software. We had two options - one was to compete with comment_notify and continue on the development of comment_subscribe, the second was to merge the two modules and combine efforts on comment_notify. There are good instances in the Free Software world where you can see both of the above options being invoked. In fact when Greg came to us with the suggestion to merge, our original response was in the negative. But Dave Reid, another active Drupal user/developer, took the initiative to come back to us and requested to merge comment_subscribe and comment_notify, after we had rejected the initial suggestion and, ultimately his logic made sense to us. We were wasting effort on an almost duplicate module where as we could join forces and focus on building a top class module.

We finally decided to merge our comment_subscribe module with comment_notify and let Greg know about this. He was very happy about this decision and together with him we created a plan of action to merge. The idea was to first make sure that comment_notify had the capability of sending notifications on threaded comments. We volunteered to implement this feature. We created a patch and then sent it to Greg who then took the effort to go through the code and let us know of some of the drupal coding standards that we were incorrectly following. This is yet another beautiful aspect of Free Software development. Over IRC he specifically guided me on the areas where we were making mistakes. We then recreated the patch twice before he gave us the clean chit. Creating the patch was a learning experience in itself because it helped us learn more clearly the nuances of the Drupal coding standards.

Recently Greg let us know that he will be integrating the patch soon and we have decided to start working on an update to the comment_subscribe module that will allow users to migrate to comment_notify seamlessly. We have also volunteered to ajax-ify the comment subscription part so that readers can subscribe to comments without additional page loads. So if all goes well and we merge the two modules together, we will have gone the complete cycle of branching, developing, supporting and merging back - the better of the two options mentioned above. Through this process we were also able to experience first hand some of the beautiful aspects of Free Software development.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

This question is for testing whether you are a human visitor and to prevent automated spam submissions.
7 + 3 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.