Open Source optimize

CodePlex: Microsoft's open source initiative


The battle between Microsoft and the open source community has been well documented over the years. Microsoft seems to be embracing the open source movement with its CodePlex Web site, which provides a community for sharing code and collaborating on projects. Microsoft includes its own projects on the site as well.

I offer tips for using CodePlex and discuss the type of code and projects that live on the site.

A site for sharing code and collaborating

Microsoft describes the site as "a forum to bring together developers from around the world and gives them tools, source code, and an advanced platform for designing and building software." The site was built on Microsoft Visual Studio 2005 Team Foundation Server.

CodePlex provides source control, issue tracking, discussion forums, and RSS feeds in and out of each project. This allows site members to stay in tune with the development issues that are most important to them.

Shared Source Initiative

CodePlex is just one part of Microsoft's Shared Source Initiative. Microsoft describes it as sharing source code with customers, partners, developers, academics, and governments worldwide. The Shared Source Initiative includes various licensing schemes that are beyond the scope of this article; the goal is to provide a way to easily share source code and collaborate along the same line as open source projects. It makes me wonder why Microsoft didn't just use the existing approach of the open source community, but the software company explains its relation to the open source community on the site.

Using CodePlex

You may choose to create and host a project on the site; contribute to a project; or simply use an application hosted on the site. A significant feature of the CodePlex site is the ability to host projects that do not utilize Microsoft technology. The simple requirements for a project are that it is ongoing, the source code is included, and a license type must be selected. You can use any open source license type that is currently available.

While interacting with the site as a developer (accessing source code), you must use a source control client. The list of supported clients includes a custom CodePlex Source Control Client, along with Teamprise, Team Explorer, and MSSCCI Provider.

An important aspect of using CodePlex is becoming a registered user of the site. This includes a username/password that is used to access the site. You only need to register to create or work with existing projects.

Current projects on CodePlex

The CodePlex site was launched with a handful of projects, and the numbers continue to increase. The following list provides a sampling of current projects on the site:

  • AJAX Control Toolkit: A good example of Microsoft contributing to the CodePlex site. It offers Web-client components built with Microsoft's ASP.NET 2.0 AJAX Extensions.
  • IronPython: A version of the popular Python programming language for the .NET platform. It simplifies the transition to .NET for Python developers.
  • BlogEngine.NET: A full-featured blog engine built with ASP.NET 2.0. The current edition requires no database backend as it uses XML for data storage.
  • Community Kit for SharePoint: Working with SharePoint can get confusing in a hurry as you dig deeper into the product. The Community Kit for SharePoint provides a set of best practices, templates, Web Parts, tools, and source code to simplify getting SharePoint to do what you want.
  • Sandcastle Help File Builder: It fills in the gaps with Microsoft's Sandcastle documentation engine. It incorporates some NDoc-like features and provides graphical and command line-based tools to build a help file in an automated fashion. This is just one of the Sandcastle-related projects on the site.
  • Flickr.Net API Library: The Flickr.Net API is a .Net Library for accessing the Flickr API. It allows you to easily include Flickr functionality in a .NET application.
  • CodePlex Source Control Client: Creating new projects and contributing to existing projects requires a source control client. The CodePlex development team created their own client, which is available via this download.
  • Phalanger: The PHP Language Compiler for the .NET Framework with a current version of 2.0. It allows you to develop .NET applications with the popular PHP language.
  • XML Notepad: Working with XML is tedious and often confusing. XML Notepad 2007 provides an easy-to-use interface for editing and creating XML documents.
  • .NET Reflector Add-Ins: A list of powerful add-ins for the .NET Reflector tool. This includes tools for code review and metrics, version comparing, and much more.
  • Tower Defense: An addictive game built with the .NET Framework.

Do you think Microsoft is truly embracing the open source movement? Do you use open source applications or code in your projects? Share your thoughts.

Tony Patton began his professional career as an application developer earning Java, VB, Lotus, and XML certifications to bolster his knowledge.

---------------------------------------------------------------------------------------

Get weekly .NET tips in your inbox TechRepublic's free .NET newsletter, delivered each Wednesday, contains useful tips and coding examples on topics such as Web services, ASP.NET, ADO.NET, and Visual Studio .NET. Automatically subscribe today!

About

Tony Patton has worn many hats over his 15+ years in the IT industry while witnessing many technologies come and go. He currently focuses on .NET and Web Development while trying to grasp the many facets of supporting such technologies in a productio...

12 comments
atisha34
atisha34

Is it possible to earn submitting project on Codeplex? Are the have any advertise affiliate program or can you earn from consulting with clients who use your projects?

Hamish_NZ
Hamish_NZ

I dunno - Microsoft's Bill Hilf thinks "there is no free software movement".

support
support

Microsoft is like a child with ADHD. They create applications and services and websites galore. But, the moment the "new" wears off (or it becomes obvious that they have created another albatross that nobody asked for or wanted) they lose interest and let it (and your projects based on it) die. If your project matters (and if it is at all possible) don't rely on Microsoft for core tools or services. That is....unless you like re-coding your code base every 3 years or having to look for new resources every time Microsoft loses interest. Look...Microsoft is in business to make money. Period. Even the project manager for Office 2007 told an online poster at his blog that Microsoft was not in the business of pleasing end users, they are in the business of pleasing investors. Take him at his word on that and use Microsoft products and services only when absolutely necessary. You'll be happier and more profitable for it.

jck
jck

I'm sure that Microsoft, being the monolithic enterprise that it is, is not doing this out of the kindness of their heart. I expect one or more of the following to happen: 1) After a time, Microsoft will contribute little to the site (or will only post antiquated code) and begin to call it "user-enabled" or some other allusion to being almost totally user-contributed materials. 2) Microsoft will either begin charging for access, or force you to sign-up so they can give (sell) your email to a "partner" (advertiser) to get a "revenue stream" (profit) to keep the site running (and not have to pay for it themselves). 3) They will move the function of the site into a new product to sell you...anyone remember the HailStorm concept that .NET was originally based on? Ballmer's "software as a service"? Net-based collaboration tool? Anyone see the pieces falling into place? Lastly, Microsoft is only embracing the portion of the open source community that will make them a profit. That is, they are trying to open up developers in the open source to embracing using their product to develop code that they will share later. It has nothing to do with open source embracing, or Microsoft would release all their non-kernel source for developers to use. They're trying to perpetuate their business as a software provider by giving the masses a crumb, but they are not truly trying to embrace the open source concept. That's what behemoth corporations do...maximize income...minimize expense. Microsoft is no exception. It's all about the benjamins.

michael.sanders
michael.sanders

The "Print This" button is not working very well - it prints pages and pages. Please consider revising this function so that it does not print the surrounding frames and only prints the article text. Thank you.

normhaga
normhaga

Apple with OS X with project Darwin and Novell with the OpenSuse project. Good ideas, indications of what the user want or needs, and yes, in the end, more profit.

dcampbell
dcampbell

would simply add MSFT to their investment portfoliio and cheer on the behemoth that will earn you part of a nice retirement. Bring on the Bejamins!

.Sherwood
.Sherwood

Well, jck, welcome to capitalism. You can't eat good intentions; of course, being a for profit business, Microsoft is going to try to create profit from all opportunities. Even creating 'good will' by embracing the open source concept has to be a part of creating a profit. There is no business without profit. Period. Profit is good! It's what feeds our families and sends my kids to college. I have no problem with Microsoft's business model or with the integrity with which they carry it out. The tone of your message was that there was something wrong or evil about Microsoft doing this. In my view, expecting something for nothing (which is a delusion; someone is always paying for it) is the evil attitude. And, hey, if I misread the intent of your post, I apologize! I'm just tired of the MS bashing. TANSTAAFL.

Tony Hopkinson
Tony Hopkinson

would consider MS an anathema. These are the people who would patent respiration and lease it to you.

jck
jck

I'm bashing the concept that Microsoft is embracing open source. It's a crock. If they truly were embracing the open source concept in the development world, they would open their source code to the world. That's what the rest of the open source community has done. So either the author of this article is perpetuating a misnomer about Microsoft's true intent, or Microsoft is putting untrue spin on its effort with this site. Either way, it's an untruth that needs to be discounted...or Microsoft (if it is their own statement they are embracing open source) needs to put up and open their source code to developers. So...the way I look at it...with this move: Microsoft is embracing a possible new revenue stream, not open source.

dcampbell
dcampbell

that knows what an 'anathema' is could probably win a few nights on Jeopardy!.

The family Jules
The family Jules

Microsoft gets free code, can fire some programmers, and make more money using the code posted, or concepts generated. i think it's a great idea -- for them! it's better than outsourcing/offshoring work!