03 October 2009

Source code recycling

One way or another, vast quantities of software gets created which either never gets used or winds up being under-utilized. Organizations may develop software for some internal needs, but it is never marketed to others because those organizations are not in the “software” industry. In other cases, software is created by entrepreneurs which never quite takes flight due to poor business models, marketing, or salesmanship. The result is a vast resource of untapped potential, and wealth, that currently does nothing more than collect dust.

Perhaps the time has come for the creation of a source code marketplace, where abandoned software can find a new purpose, and IT organizations are able to realize added value in the assets they create than the mere use of the applications they created.

Save money through recycling

In a tough economy where capital is scarce and budgets are being cut, finding economies through the use of pre-existing source code is a tremendous way to economize. Organizations with portfolios of internally developed software can defray their development costs, and take the sting out of budget cuts by offering their existing source code for other firms to license. Many IT departments are completely unaware they are sitting on a potential gold-mine.

Reduce development costs by licensing existing source code

Why re-create the wheel, building software that someone else has already created? You can dramatically reduce your development time, and costs, if you can find software in a source code marketplace that fits your needs. The price of licensing pre-existing code will almost certainly be far less than building it yourself. Even better, you can be confident of the quality of source code that has already been used (and ranked) by others.

Where abandoned software finds a second life

Instead of letting cool software created by startups just collect dust, and vanish into history (as so often happens when software firms go bust), the source code marketplace offers an opportunity to actually redeem some of the investment. Someone out there could find a use for your abandoned source code, even if it is in a field, or area, you hadn’t originally anticipated. The source code marketplace at least gives you a chance to find that elusive buyer.

After all, what do you have to lose by registering your abandonded software in the source code marketplace? It’s not as if it is doing anyone any good just sitting in the basement accumulating cobwebs.

The limitations of being Open

Open source software is all well and good for hobbyists working on community projects, or companies wanting to get wide dissemination of their technologies, but it offers little reason for those organizations who made investments for their own needs to just publish for the good of humanity. If you are lucky enough to find open source software that suits your needs, that’s wonderful, but you still have to worry about the implications of using software with an Open Source license in your own commercial products later down the road.

Features of the source code marketplace

  • Choose your license model
    - Do you want to offer exclusive licensing deals? Is it open for use by as many people who want to license it?
  • Pick your price
    - Choose the price you want to sell the source code you register in the marketplace (pick a higher price for exclusive licensing vs common usage).
  • Rate/recommend the source code
    - Tell others how well the source code worked for you.
  • View popularity for each piece of source code
    - Shows the number of downloads, and can list items by order of usage.
  • Rich search options
    - By category, language used, ratings, etc.

NOTE: You can check out another of my business ideas, for a social network marketing rewards program.


  1. Code reuse continues to be an enticing proposition and one that has benefited from much research. The problem is that its a hard problem.

    A lot of code, and as entrepreneur and investor I can say the code I like to sponsor, is written for a specific purpose in mind and therefore comes with specific assumptions about use and need for extension. This makes re-use harder as those assumptions often are not generally what is needed when the code is being considered for reuse. As Roy Leban responded in a different forum, the code written the second time around is usually cheaper, better, faster, etc.

    All of this piles up to making reuse harder to make work well.

  2. In my opinion, code is only marginally useful without the people who created it. Re-learning somebody else's code, especially when documentation is sparse, involves trying to relearn all of the assumptions and implied purposes of the initial creator(s). This is very laborious.

    I have experienced software acquisitions where the entire purpose was to buy the code and the people who wrote it. When the people who wrote the code left, we were unable to effectively maintain the code and ended up replacing it with code made in-house.

    This is one of the reasons why I believe that many companies could publish the source code for their products and not suffer much risk of people trying to copy it, as it is very awkward to get into the mind of the original developer, especially for complex code.

    Smaller-scale code/function libraries already exist among the developpers of a given domain.

  3. Arthur M. GallagherOctober 06, 2009 4:22 PM

    Mikhail, when I first saw your digest of this article on The IT Architect Network, my first reaction was "yes, it's already here as Open Source!"

    I accept your point that true "Free" software has licenses that are commercially limiting, but if you are seriously considering stimulating an after-market in software code, then perhaps you can understand some relevant dynamics from this large and well established body of producers, consumers and code itself.

    However, determining a fair and reasonable value for "pre-owned" programming instructions is not simple, and it may be difficult to obtain any price above $0 & 0c.

    Even in something as hard to reproduce as hardware itself, recycling often has a very low residual _commercial_ value. I have come across companies who do not bother to reuse hardware that has enough horsepower for a job simply because it is no longer covered under warranty. This lack of support (mentioned in other comments replying to your post) means that its simpler, easier, safer, and in the long term more cost-effective, to simply give away anything you no longer need to charity.

    Perhaps there is an opportunity for a no-profit organisation to get companies to license them enough rights to effectively trawl around for a good home for retired source, but I'm not sure if you'll get the VCs queuing up to invest in the code reuse market.

  4. As a experienced shrink-wrap product architect, I would say forget it. If the code was built for internal use by a firm, the effort to renovate it for the next firm exceeds the costs of writing it from scratch. With 'professional' open source, the cost is still major to adapt to a firms needed.

    Code is generally poorly crafted today in 98% of the cases. Technology changes fast. Most firms will not consider buying a used COBOL application....