Tucked away in our photo album I have a picture of my wife and myself perched atop the summit of a fourteen thousand foot mountain, enjoying the view at the peak of our conquest as we overlook the continental divide. I also have one of us rafting the Ocoee River in Tennessee, repelling off a shear face cliff, and one of her jumping out of an airplane (I'm not quite that adventurous). There is something in us that likes to venture into the wilderness and conquer the untamed. As a developer, I can feel the same way about computers. It's a digital wilderness ready for enterprising explorers to go forth and conquer with code.
Of course, any adventure is short-lived without the appropriate supplies. Your success vector for repelling without a rope is zero, and your chances of coding an application without a development language are similarly infinitesimal. As a developer, you start your journey by making a few key decisions about how navigate the digital wild by selecting the language in which you plan to develop, the IDE in which you plan to work, the database in which you plan to store information, quite possibly the Web server with which to host your application, and a variety of other technology choices that ultimately affect your journey. Corporate developers have it easy in this regard because their path is picked out and paid for by the companies who employ them, but it is a much more problematic choice for the adventurous developer going it alone or the startup company looking to launch without a lot of cash. Price often becomes the primary deciding factor for technology selection, and open source becomes a very attractive option when price is a priority because open source software tends to have a low to zero initial cost.
Are you an Open Source ISV? Do you want to maximize the potential of open source solutions with Microsoft offerings? Please attend the Second Annual Microsoft Open Source ISV Forum taking place on March 24th in San Francisco. For details and to register please click here.
|
|
Concept and Culture
Open source encompasses a concept, a culture, and a development model employed by both businesses and programming communities alike. Traditionally, open source has focused on the Linux operating system because it is one of the most commercially prominent examples of open source development. If you find someone who embraces the open source culture and ask him or her to rattle of a list of the languages available for someone looking for a low-cost development option, then you are likely to hear a list similar to the following: Java, PHP, Perl, Python, Ruby on Rails, C++, TCL/TK, and maybe even Lua. Rarely do the Microsoft .NET languages C# and VB.NET come up as options. In fact, you rarely hear Microsoft technologies discussed in open source circles because of the propensity to focus on Linux, even though Microsoft offers an impressive assortment of tools and languages for open-source developers and has become an increasingly popular platform for open-source development projects. I continually run across open-source projects on CodePlex.com and SourceForge.net that target the Microsoft platform.
So what, exactly, does Microsoft offer for an open-source developer wanting to start down the path of building applications without a large up-front investment? First, let's touch on the development languages and tools. Microsoft .NET is a freely available development framework for building and running both Web-based and desktop application. Most people download the .NET framework so they can run .NET applications, but the framework ships with command-line compilers for C# and VB.NET as well as a variety of other command-line development tools. You can also find open source compilers, like IronPython and IronRuby, that take popular development languages and compile them into .NET applications. Anyone with the .NET Framework has the ability to start developing applications without having to spend a dime.