The Demise of NDoc and A Challenge For Users Of Open Source Software

0 comments suggest edit

My goodness. Today is Open Source News Day for me.

I just read the sad news that Kevin Downs, the leader of the NDoc project, announced that NDoc 2 Is Officially Dead. NDoc is a wonderfully useful tool for generating nicely formatted CHM and HTML documentation from XML comments within your source code.

What is really troubling about the news is the attitude by some members of the community that was a contributing factor to Kevin calling it quits.

As some of you are aware, there are some in the community who believe that a .Net 2.0 compatible release was theirs by-right and that I should be moving faster – despite the fact that I am but one man working in his spare time…

This came to head in the last week; I have been subjected to an automated mail-bomb attack on both my public mail addresses and the ndoc2 mailing list address. These mails have been extremely offensive and resulted in my ISP temporarily suspending my account because of the traffic volume. This incident has been reported to the local authorities, although I am highly doubtful they will be able to do anything about it.

This has was the ‘last-straw’ and has convinced me that I should withdraw from the community; I’m not prepared to have myself and my family threatened by some lunatic!


I cannot understand the mentality of someone who demands for developers to hurry up and release a new version of a free software product. If you are in such dire need of the new version, why not hurry up and contribute?

Having said that, I feel particularly bad that I never contributed to NDoc, yet enjoyed so much use out of it. As the manager of an open source project myself, I understand the inherent difficulty in generating interest and contributions from the community at large.

In general, I try to contribute to Open Source projects when I can. I have contributed a tiny bit of money and some documentation and code to RSS Bandit, I bought a domain name for MbUnit, and of course I contribute to Subtext. But I realized today that I am quite haphazard in how I contribute to useful open source projects. I contribute to some when the mood strikes, but not others.


So I offer the following challenge. First, ask yourself these two questions:

  1. How much money do I save because of Open Source Software?
  2. Considering how many people spend three bucks for a useless ring tone, is a single dollar too much to contribute to a useful Open Source project?

So let’s ban together and declare today, July 26, 2006, Contribute To Open Source Day. Look at the open source software you use and consider making a tiny contribution to the project if you find it useful. The contribution could be a small monetary contribution such as a buck (or five). Even more valuable is contributing a single bug fix. If you want to contribute to Subtext, consider writing a Unit Test to cover a case that isn’t tested. What better way to learn about writing unit tests?

Gee, using GIMP alone saves me a few hundred that I would otherwise pay for Photoshop. My goal now is to at least contribute something everytime I download a new open source product, whether it be some useful bug reports or feedback, a bug fix, a buck…anything. Just as long as it is something.

I will check back with you next year on July 26 and remind you again to consider contributing. It is worth it.

Found a typo or error? Suggest an edit! If accepted, your contribution is listed automatically here.



22 responses

  1. Avatar for David Shields
    David Shields July 26th, 2006

    I don't see a single button I can click for donating to Subtext (either here or on or at http://www.subtextproject.c.... Did I just miss it or is there another way to donate to Subtext?
    In another post you asked about CMS software. I commented about "The Philosophy" of That comment is also relevant to this post. They have a business model that seems not unlike Red Hat (and others) except they started with a very small project instead of a linux distro. Check it out here:
    I'm wondering if there isn't a way to tweak that philosophy even further to make it possible for teams to work on "open source" projects as a full time vocation.
    I know is not open source. It doesn't even appear to be shared source or available source or anything like that.
    But would their business model of charging for customization and support (again, essentially the same as Red Hat's business model) work for a small open source project? If not, could we figure out a type of license that would give some of the benefits of open source while also enabling projects to be more viable? I mean it doesn't do much good for NDoc to be open source if no one wants to actively develop it. On the other hand, if a couple guys could pay their bills while working on NDoc full time (while the software stays "100% free" to borrow's term) that would benefit the whole community - even if the NDoc license had a few more restrictions of some type, right? What restrictions would it take in order to make the business model work?

  2. Avatar for Jeff Atwood
    Jeff Atwood July 26th, 2006

    > Look at the open source software you use and consider making a tiny contribution to the project if you find it useful
    Or you could just buy commercial software.
    Personally, I think "contributing" to OSS really means talking about it in public so you organically grow the community and knowledge around it. That's far, FAR more valuable than sending them a buck or whatever.
    And it's the key differentiator between the two.

  3. Avatar for Haacked
    Haacked July 26th, 2006

    @David - Subtext's contribution link is on the About page:
    I think the model works for some software, but not all. For example, NDoc is not a mission critical app, nor is it extremely complex to use. It would be hard to charge for customization and support for such a product and make a viable business out of it.
    I think there is still a chance for the NDocs of the world to thrive as open source software. For something used by so many developers, it might just take a kick in the pants for people to realize it is worth contributing to, now that it is gone.

  4. Avatar for Haacked
    Haacked July 26th, 2006

    @Jeff - "Contributions" take many forms, not just talking about it.
    I do agree that in the scale of value, monetary contributions (unless extremely large and sent to my paypal account) hold the least value.
    Considering what I charge for my time as a software consultant, every hour I put in is way more than I can part with monetarily.
    But I disagree that we should say, "forget monetary contributions, buy commercial products instead." Why reduce choice in this issue? Not everybody has or wants to contribute their time.
    Running an open source project has real monetary costs from hosting to purchasing development tools for which there are no viable open source counterparts. So monetary contributions, even small ones, are helpful.
    Ultimately, I just hope that more people consider a form of contribution (in any form) when they find some open source software that is really useful to them.

  5. Avatar for Scott
    Scott July 26th, 2006

    "Considering what I charge for my time as a software consultant, every hour I put in is way more than I can part with monetarily."
    I have a friend who says things like this constantly. Usually to get out of doing something. He'll use it to justify hiring a maid rather than cleaning his apartment. Then I'll ask him what he did that day, "read some blogs and watched FoodTV". "Wow, for how long?" "About 4 hours", "So how much did that 'cost' you?". The point being, how much you charge for you time is irrelevant if you are doing something you WANT to do. Do you count Soccer time as potential revenue lost? ;)
    I think it also comes down to your skillset. I'm not a kernel programmer. So the only way I can contribute to a kernel is by talking about it. I supposed I could offer to comment the new patches on a project. I know my way around slashes and asterisks.

  6. Avatar for vern
    vern July 26th, 2006

    Ok, two things;
    first, you are far more than just a contributor to Subtext
    second, GIMP rocks, but have you seen

  7. Avatar for Anon
    Anon July 26th, 2006

    The original idea of Open-Source projects was formed to stop companies that used their market positions to sell their technologies at very high price and to make similar technologies available to smaller businesses.
    So that means the users of Open-Source projects are mainly business communities not the community that most Open-Source projects portrait as “the Developers Community”. I’m sure there are some exceptions to this, i.e. SubText project which has no true business value.
    In my opinion the single individual developers who come up with wonderful technologies and turn it in to a very popular solution would actually do the most damage to the community, why?
    First ask yourself where the developer is going to use these project(s)? If the developer is just a developer then he or she is working for a company right? That means the company will financially benefit from the Open-Source project not the developer who developed the project. Once the company have more of these Open-Source projects then they start cutting cost by getting rid of the developers which are no longer necessary for the company to pay, normally the experienced ones because they are on the higher salaries.
    Projects like NDoc and NUnit has business values because both are used in Software Development Life Cycle. It would cost a company to either develop such Tools in-house or purchase them. In either case developers will be paid for such projects, so this is not just the business is going to have the financial benefit.
    The Open-Source Projects which have business value should be changed to commercial Projects but then they should cost low so that it can be available to all business communities not just the ones with big wallet.
    I’m really saddened for Kevin going through such experience after putting so much work into his project. Incidentally I haven’t used NDoc or NUnit yet. Kevin should turn his project to a commercial project and make himself a small business and finically benefit from it rather than the “Business Community” only. I would say only someone who is making money directly or indirectly out of Kevin’s project dares to send email like that.
    A word of advice…
    Don’t let the “Business Community” to cash in on your talents and enthusiasm in software development by starting a successful Open-Source project which that will also destroy the livelihood of other developers in the community.
    I have put in over 4300 hours (fulltime) so far in my OR/M project. No sponsorship and no income while I’ve been working on this project, I’ve been living with very little money but still I’m not prepared to turn my project in to a Free project where I know the business communities will use it. Just for your record, no one would use a technology such as OR/M other than someone who plans to make money out of his or her own product. Many I.T. companies wouldn’t consider buying OR/M or Frameworks because they are too many Open-Source projects available these days. As for how good they are I’d leave the judgment to you.
    I have always envied the SAP community on how secretive they are about what they know and that was the key for them to have very little pay cut after 9/11 comparing to the rest of us. How many Open-Source projects for SAP do you know comparing to .NET projects? I know this is not the best comparison but I think you get the point.
    If you haven’t noticed the price of I.T. products are keep going up in the same rate as the rest of the commodities in the market but the salary of developers unlike other workers have gone down actually despite of the fact developers today has to work much harder to be qualified for recruitment. Ask yourself why?
    Don’t believe the statistics printed by I.T. publishers what counts is what your recruitment agent actually is willing to pay you.

  8. Avatar for Haacked
    Haacked July 26th, 2006

    @Vern: Thanks!
    @Scott: I am just like your friend in that I absolutely do try and use this excuse in an attempt to get out of housework. Never works, but I try.
    I think this excuse has some validity when the thing you are doing is directly related to your profession. I can't count soccer time as lost revenue. But writing code? Why not?
    I could spend that time trying to develop a commercial product and sell it as a Micro-ISV. Or I could spend that time trying to drum up more business for my company.
    If I instead contribute it to writing code, why shouldn't I consider that a valuable contribution.
    Now if I was an employee and whether I worked more or less made no difference to my bottom line, then you have a good point.
    However value is really in the eye of the beholder, no? How valuable is it when someone contributes an hour of solid work to Subtext? Well I'd pay decent money for that kind of work if I could.
    But the currency of open source is not money, it's different for everybody, but often includes one or more of the following: learning experience, recognition, satisfaction of giving, necessity, etc...

  9. Avatar for Daniel
    Daniel July 26th, 2006

    I understand his frustration, but in all fairness there were people in the mailing list offering help and politely asking what the plans were, and not getting any response. Obviously doesn't justify people acting like idiots, but I could see why people would be hesitant to contribute when the site hadn't been updated since Feburary, and the only mention of 2.0 was on a broken wiki. What would have been awesome is if MS donated Sandcastle code and developer time to the project.

  10. Avatar for Haacked
    Haacked July 26th, 2006

    My guess is that the GPL License would scare away any Microsoft involvement.

  11. Avatar for marcos
    marcos July 27th, 2006

    I completely understand Kevin. I´m in the open source world for less than a year now and I´m developing a smaller project and is a lot frustrating to know that the people wants that you finish some feature now and don't contribute at all in that or other part of the library.

    There are BTW a lot of other people that try to help and that suggest new features, thing that is the "open source" idea and I live of these feedback.

    But at the end we all need money to live, so if you have two jobs like me and also develop an open source project, your family, your girlfriend and your friends become agains you and you lose somethings that if you was getting some donations and can dedicate full time to the projects, all parts win.
    Anyway just my view 2 cents to the discuss
    Best Regards

  12. Avatar for Frans Bouma
    Frans Bouma July 27th, 2006

    "Just for your record, no one would use a technology such as OR/M other than someone who plans to make money out of his or her own product. Many I.T. companies wouldn’t consider buying OR/M or Frameworks because they are too many Open-Source projects available these days. As for how good they are I’d leave the judgment to you."
    I beg to differ. :)
    The reason is simple: it's a choice between:
    - hire a couple of people and let them write the part, which costs a lot of $$$ and time
    - buy an off the shelve product which is debugged, tested and supported for $
    you do the math.
    Open source is often not used in businesses because the mindset of companies that an open source product is likely to go belly up once the contributors to the project find other things to do with their time. That's often true but not always of course. Fun thing is that the succesful open source projects are all (or mostly all) developed by people who work full time on the projects payed by a company who by doing that invests in the project.
    I've spend alone more than 10000 hours on LLBLGen Pro, something I don't want to 'give away for free'. The reason is simple: My family and I have to eat, pay bills etc. and I have to pay the people who work for me, pay for hardware etc.. Working on that big project is what I do for a living. Why is asking money in return for my hard work something bad? I don't see it.
    However, if I COULD give it away, e.g. I had unlimited money sources, I would. I have released succesful open source projects in the past and I'll do it again in a heartbeat if I had the time.
    I don't like the "I went to the bathroom but you still have to pay me an hourly fee"-kind of mindset of some consultants, but I also don't like the "It has to be free!"-mindset of some people who simply think their money is better spend on something else than the hard work of some person or company. I always think in that case: "do they also call Dell for a free computer because they think their money is better spend on something else?".
    I would have shelled out 200$ for NDoc, no problem: it does the job it has to do, fast, no questions asked. Because we needed a .NET 2.0 version, we had to move to a commercial toolkit, which I don't like as it's slower and buggy but there aren't a lot of alternatives...
    Open source as an initiative to make software freely available to anyone who wants to use it, that's good. However it's not a given. It doesn't give you as the user any rights on the work or what the contributors have to do. From the contributor's point of view: open source is only free if your time is free. If you have to pay your bills from your own pocket, who's going to fill these pockets at the end of the month? Likely it will be no-one. So unless you have deep pockets, you'll run out of money and have to find a job, which means less time to spend on the project, if at all. This is the logical reason why succesful open source projects are actually funded by companies. For example most linux kernel developers are working for redhat or novell, most open office developers work for sun, most java tools developers work for ibm, etc. Nothing strange about that. Bills have to be payed.
    It's sad that the NDoc author ran into this misery though. I fully agree this is completely insane. What I find sad is that the project seems to be managed so poorly. I doubt there weren't any developers willing to contribute to it. Why leave it to 1 developer to come up with a proper .net 2.0 working version? It's open source after all, contribution of sourcecode to the project should be trivial, fast and smooth.
    IF I had time, I would be willing to contribute to it, no problem. I hope the few people who have tried to make ndoc 2.0 workable get together and restart the project with proper management. After all, the tool already works OK, how much code do you need to change to make it workable with .net 2.0?

  13. Avatar for Andrew Stopford's Weblog
    Andrew Stopford's Weblog July 27th, 2006

    While we wait with baited breatha new presentation on Sandcastle is available here.Phil Haacked also

  14. Avatar for Jeremy Brayton
    Jeremy Brayton July 28th, 2006

    Strict GPL can turn off most businesses. LGPL or something a little more forgiving would give people the incentive to make commercial apps (and commit those changes back to the originator) while still giving individuals the freedom to fork or do whatever they want with it.
    Frans in correct in stating the project seemed to be managed poorly. I think it was a lot of little straws that broke this camel's back.
    I already need a straight XML/XSL CHM compiler and not having to do that from scratch would save me time. It's for my employer so I have to accept that they may or may not wish me to release our source. After all, they are paying me for my time spent but I'd gladly contribute nuggets I found along the way regardless of wether or not I could release the complete source of that nugget. I may have saved them money but I can't always convince people how "right" or "just" the contribution would be.
    There's also the reality that the people behind any project are people and they may not value your ideas, thoughts, or contributions. I get turned off quickly when my idea for a small feature that I will fully implement goes unnoticed. I don't feel like working on something for weeks (granted very little at a time) only to have the maintainer completely gut what I did or just not use it. Their time may be valuable to them but my time is valuable to me. I now no longer blindly contribute but simply ask if what I plan to work on will get merged at some point. If not, I'm not going to bother wasting both of our time. I've been down the path of consistently merging my changes with the source to have a more personalized (better for me) version but it gets old after about the second conflict.

  15. Avatar for Anon
    Anon July 28th, 2006

    Frankly, I can't understand why someone should be able to criticise an Open-Source project for being managed poorly? Surely that wasn't the NDoc's failure or was it? We wouldn't know for how long Kevin was being intimated for.
    The project is for free therefore no one has the right to criticise anything. Users also have the right not to use the project in the first place.
    Maybe spending 10 times the cost and waiting for months developers to finish the same type of project would teach the "Business Community" to appreciate Open-Source projects more.
    I'm glad to see Frans posted a reply in here. In regards to "You do the math" I can only say some managers really don't understand this concept. They assume having developers allow them to develop all the in-house technology they need without calculating the cost of development and maintenance. Some don’t get it, writing a good code is only half of the story.
    When the managers are non-technical they'd leave the decision of choosing such technologies to the developers. The problem with this is that the developers that are on hourly paid basis or the developers who don't like changes would vote against such technologies.
    In my licensing plan I give away all the source code that was written as the Base Library as well. Something other OR/Ms would also do but at extra cost. I'm not doing this for competitiveness because as Frans would probably agree with me each OR/M is designed the way the author sees 'data' and that is the reason why known OR/M technologies are designed differently and users would buy the OR/M that comes close the way they see the data. So the way I look at it there isn’t a real competition among OR/M Tools.
    Even though I mention to my clients that they would get all the Base Library Source Codes they would normally make the following comment, "The Downside is we don't get the source code of your OR/M Wizard".
    The open-source concept has changed the mind of “Business Community” to extend that if they don't get source code for something they pay for then they wouldn't consider it as valuable purchase. I would say even many developers think this way these days, “I am not going to use this .DLL if I can’t have the source code first”.
    Most known open-source projects are managed in western countries but probably heavily used by developing and non-developed countries. India is a developing country which has caused so many job losses and pay cuts in USA, Canada, and Europe.
    Probably a country like India heavily uses Open-Source and all the resources (Forums, Blogs, and Technical Sites) managed by the same countries that all the jobs were lost.
    Any developing or non-developed country is not capable of producing qualified developers for every single project that are running in the country. So they have to rely on resources that I mentioned. This is the strategy of today’s I.T. World “Hire cheap developers and ask them to Google what the senior developers know”. The development communities in western countries give free resources to countries like India and India in return takes most of the projects away.
    As we all know MS is very much against Open-Source but they sponsor sites like GotDotNet, Asp.NET, and more to make resources freely available to us developers. Then MS announces spending $6-7 Billions in India to make sure they can shift more projects to India.
    Let me tell you, Microsoft loves you so much for spending hours and hours writing technical Articles based on their platform/products for free which they earn from it indirectly, and millions of dollars that is. The community helps others to learn faster and the same community helps to reduce your salary and cuts jobs. Once I read an article (not too sure where) about how I.T. Managers think developers are “Plug & Play”. Why is that?
    Indians are very hard working people and I wish them all well. If this is India’s right to have a Business Strategy that causes loss some where else then this is my right to make awareness to cut my loss as well as others. Same thing applies to Open-Source’s Business Strategy.
    Sorry Guys I never meant to write this much for the second time.

  16. Avatar for eIT
    eIT July 31st, 2006

    Nice and useful article, thanks
    I saw, at least in passing, revenue models for open source being discussed...thought I'dadd my 2c to it...making revenues from free & open source software is one of the most frequently asked questions these days. While there have been a few successful examples of companies (like MySQL, Red Hat etc) which are making money, I’d surmise that these are still very early days for open source revenue & profit models.
    While open source as an operational paradigm certainly has been having exceptional success against proprietary and closed-software models in the recent past, in my opinion, a lot more thought need to be given and experimentations done before the emergence of viable revenue models for the free & open source models that can successfully compete with the current proprietary software revenue model. Some specifics of the business models are emerging fast, but it will take a few years for the market to test each of these out and hopefully, the fittest will survive.
    A site that focuses exclusively on revenue models from free, open source software is – Free, Open-source Dollars - !
    Ec @ IT, Software Database @

  17. Avatar for Technical Thoughts of Jorriss
    Technical Thoughts of Jorriss August 1st, 2006

    Last week, Microsoft announced Sandcastle which produces MSDN style documentation for your Visual...

  18. Avatar for ASP.NET Chinese Blogs
    ASP.NET Chinese Blogs September 23rd, 2006


  19. Avatar for you've been HAACKED
    you've been HAACKED January 18th, 2007

    Windows Developer Tools Day

  20. Avatar for you've been HAACKED
    you've been HAACKED June 26th, 2007

    Christmas For .NET Open Source Came Early This Year

  21. Avatar for Scott Dorman
    Scott Dorman June 27th, 2007

    .NET Open Source and Microsoft

  22. Avatar for you've been HAACKED
    you've been HAACKED July 26th, 2007

    Second Annual Contribute to Open Source Day