Sometimes it makes more sense to adapt a piece of software that someone else has released for free, than to re-invent the wheel and write it yourself.
Thankfully, the web makes both project collaboration, and source code sharing that bit easier. This collection of sites are a combination of earch engines, and code hosting environments where you can find open and closed source software that you can both adapt and learn from.
Githubs hosts a large variety of projects and as well as providing a distributed version control system for developers offers free project hosting for smaller projects.
Many programming books, as part of the learning curve teach via code samples. CodeFetch seeks to crawl this source code and combine it into one location. Clever – considering they also provide affiliate links through to the books on Amazon.
UCodeIt is a search engine which caters for open source code from a wide variety of popular code repositories. It mines its data from apache.org, java.net and Sourceforce.net (amongst others) to give its users a relevant breakdown of implementations, interfaces and classes. At time of writing UCodeIt was offering over 18 millions lines of code.
Koders is one of the larger code search engines on the web and was acquired by Black Duck Software last year. Black Duck’s software caters toward keeping developers on the straight and narrow with regard to licensing. The search engine currently indexes over 2,449,889,519 lines of code.
Google Code Search
Not to be out done, and the endless miner of knowledge and see’r of all things, Google too have got in on code search. They have implemented some nice features such as Regular expression searching and license searching.
Merobase touts itself as a “component search engine” and allows an abstract level of searching for particular pieces of code. For example, should you be developing a timer component you can search for “Clock” or “Timer” – if you want to get down into the nitty gritty of implementation, then method and class level searches can also be performed.
OpenGrok is a fast and usable source code search and cross reference engine written in Java, and used on the Open Solaris website to power its source code search. There are a variety of projects that it currently indexes on the site – most of the them written in the Java language.
CodeKeep caters towards developers on the Microsoft Stack, it comes as an add-in for Visual studio that allows you to search directly from within the IDE. You can expect to find VB, C# and SQL related code. The web interface mirrors the search results available from the Add-In – definitely a worthy contender as a Visual Studio plugin.
Codease is another search engine which allows you to filter between method calls, declarations, Class fields and properties, and a free text search. Languages support include C, C++ and Java only.
Launchpad is another code hosting and collaboration platform, similar in functionality to GitHubs. They too have their own search engine that allows you to find projects to contribute towards or submit code to.
CodePlex is Microsoft’s open source project hosting platform. There are a variety of high profile projects hosted on the ‘plex including some directly out of Redmond. The advanced search engine allows developers to search for code under a variety of licenses and at different release stages.
Bitbucket is a code hosting site, for the popular Mercurial version control system. Hosting is not free, and it’s an obvious competitor to those using Git or SVN. You can access the projects on the above URL.
Open Source Observatory
A free open source repository for public administrations to host their code an collaborate with others. The Open Source Observatory has a number of interesting projects in their repository.
Dzone snippets are created by members of the DZone community, and is growing rapidly since being setup. Whilst these are only small snippets of code, they are of a high quality in comparison with some other communities around the web.
The Kenai Project is created by Sun as an open source project hosting environment for Java developers. In comparison to other forges, they concentrate on offering a wider suite of integrated collaboration services to developers.
Many of you will be familiar with Tigris because it is the home of both Subversion and TortoiseSVN – version control systems. It is so named because Tigris comes from an Old Persian word that can be translated as “fast” or “arrow-like”
Good list of Git hosting options.
Uses SVN as its source control and contains a couple of other useful collaboration features including a Task Tracker and Library.
Betavine is an open mobile community for mobile developers.
A collection of free software projects on the Linux platform, it offers virtual hosting for free software.