Mmullin Report on FSOSS

From CDOT Wiki
Revision as of 02:51, 1 November 2007 by Mmullin (talk | contribs)
Jump to: navigation, search

Michael Mullin's Report on FSOSS

DRAFT

The Important Things we need to Remember

I should state my biases up front, the nature of software is thus: Whether the product be large or small, open source or proprietary, software is created in teams of 1 to 15 developers (or at least should be). It is the specialty of the Project Managers to break a project down into discrete products in order to deliver an intact solution.

Solutions build on Solutions.

Why is my bias important? When a software project is in demand, it will find funding by whomever needs it to provide a solution. When enough users combine their wants with purchasing power, demands are created that can be fulfilled by industrious individuals looking to make a profit. Industrious guys like me can fit in and contribute to either the closed source or open source projects, but this is an open source course, so lets focus on how I can contribute to the open source world, and get rewarded for doing so.

I do not yet know specifically how to fit into the process yet, therefore this paper will be an analysis of two talks given at FSOSS with the intention of trying to understand how a guy like me should proceed if he wants to earn a living in the open source world.

Who am I (to pass a judgement, or an opinion)? Why should someone read this page

I am a young developer, a green novice. Do I have experience? You judge:

- Developer Intern for a multi-billion $$$ corp: 16months
- Academic Research Developing Joystick Controls: 12months
- SQL Hacker: 24months
- Credit Union Teller: 4months
- Library Internet Trainer: 4months

I also have been interested in open source / Linux for 6 years now. I used to be a Gentoo guy, but I am not a masochist anymore, so I appreciate Ubuntu.

Have I paid my dues yet... no not close *sigh*

I've been using a Mac since June of 2007, I love it.

If you are an older developer, remembrances of the days when you were a green novice might bring back fair memories.

Lets be realistic, however, you're probably just my teacher, and it's your job to read this. :p

The Talks

Talk One - Miguel Trembley

Miguel is a Physicist with Canada's Federal Government; he talked about the METRo project. Miguel developed a Road Temperature Modeling program for the Federal Government, and open sourced the program after the fourth iteration.

Though Miguel talked about the history of the software he works on, the main point I took from his talk was the position of the Federal Government on software usage. Miguel explained that the Federal Government takes a 'balanced approach' to the software it uses. Which I understand as "we use what is the most practical for us." (I feel skeptical of that because of education scandles). Though I feel skeptical of the government about all things most of the time, METRo is a proof that there is a push towards the open source model in our Canadian Politics.

Miguel has received contributions from about 4 or 5 people after releasing METRo as open source.

Talk Two - Ross Chevalier

Ross is a spokesman for Nortel and spoke about XEN Virtualization. Ross presented to me the idea that virtualization can save business a LARGE amount of money, by allowing a company to harvest all the CPU cycles they possibly can.

warning, this little use case is my position, and not necessarily Ross' this is how I understood things...

eg. Company XYZ has 100 client machines running for employees during the daytime, and a server running massive amounts of batch processing to run during the evening. Along side of these two main tasks, are other services such as intranet web hosting, company VoIP management, etc, all on dedicated machines

Q: Instead of this model described above, which will have varying levels of CPU consumption on the individual machines, why not have one piece of software in control of all cpu consumption (a giant server, or cluster of smaller machines)?

A: Because the processes being run all demand different Operating Systems, or demand dedicated Environments for security purposes.

Virtualization can give you the dedicated Operating System needed AND it can provide one piece of software to control all CPU cycle time. One virtualization core can spawn off guest machines as needed for employees during the daytime, reharvesting their cycles during the evening for another guest machine spawned to run batch during the evening. Separate virtual machines can be spawned for the intranet and other services as needed.

end of example

XEN is a very large project, and I assume hundreds of developers have contributed to various internal projects contained within its boundaries. Ross explained how Novell was working hand in hand with Microsoft to provide fully supported XEN Linux->Windows solutions.

Comparison

Miguel seems to be the only person currently getting paid to work on METRo by the Federal Government, but I believe that the service METRo can provide is of great importance. Snowy roads during Canadian winters cause a lot of damage, and better road prediction can help minimize tragedy. Meteorological companies can sell to media companies who display real-time road condition maps. The media companies in-turn sell advertising time/space to consumer product companies. The value provided by the meteorological companies depends on the accuracy of predictions; accuracy governs audience for METRo in the given scenario.

If Google could get behind something like this and display road conditions on gMaps, I would use it. A third party using METRo output to host several on-board driving advisory car devices might be very lucrative.

The important thing to consider with METRo is that it is small in terms of project size. With only one dedicated developer (who is admittedly spends very little time on the project) there is a lot of room to become a 'player' in this project. The problem with the small project size is the maintenance/upgrade demand for this software needs to be marketed and cultivated before it can sustain any dedicated developers. If I were to dedicated a few months of my time towards METRo, I could very well become one of only 5 experts on this code base; if any work were to be commissioned on it, my name would be considered for the commission. This commission idea is a very big if though. Is a large company really going to start demanding maintenance and upgrades to this code-base?

Everything about the METRo project contrasts starkly to XEN and the work Novell and Microsoft are doing.

XEN is huge, comprises multiple sub-projects, has lots of developers working professionally on the project. Virtualization is a big and growing marketplace, and XEN has managed to carve itself a nice chunk of market-share. As a huge project XEN is much more difficult to get into than METRo

Conclusion