Open main menu

CDOT Wiki β

Mmullin Report on FSOSS

Revision as of 18:31, 2 November 2007 by Mmullin (talk | contribs)

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? Because I am writing this paper, and you are reading it. If you cannot understand where I have been, then you will not understand where I am going with my logic and reasoning.

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 such as your humble author can fit in and contribute to either the closed source or open source projects; but this paper is written for 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 have 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. METRo still has a very small community.

I received a strong feeling that the Federal Government could no longer support this project and wanted to open source it hopes that some other group may find the software useful. There are currently less than 10 'customers' of METRo, and the government isn't interested in cultivating a larger audience.

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 powerful 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, re-harvesting 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 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.

Ross' view on open source seemed to be that the XEN project is a wonderful way for large corporations to collaborate on virtualization projects. The XEN project receives official technical support from Microsoft, when Windows is running in a Novell provided XEN implementation, thus ensuring that Novell can provide SuSE as somewhat of an officially supported virtualization distribution by Microsoft. Using Microsoft as a market penetration method, Novell can market SuSE linux, and SuSE linux support to far more customers than companies to distributions that do not have Microsoft backing.

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, or someone like me, were to dedicate a few months of time towards METRo, they could very well become one of only 5 experts on this code base; if any work were to be commissioned on it, their name would be considered for the commission. This commission idea is a very big *if* though. Is anyone 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. Really strong technical programmers are already 'on duty' and playing catchup to all of them will be very difficult. The caveat to the difficulty of entrance is that if someone like me were to get their foot in the door and become technically strong enough with XEN to be useful, employment is virtually guaranteed.

Employment from familiarity with XEN doesn't necessarily have to take the form of development however. Huge solutions like this need to employ all sorts of people such as QA testers, marketing managers, and will boost a resume for any company that uses XEN virtualization in its business. An enterprising individual might be able to find employment at Novell providing support to XEN while exploring the code base as a side project, hoping to one day 'graduate' into a developer position.

Conclusion

Why does getting paid matter?

Michael, your just a greedy bastard! Why all the attention towards money, can you not understand the potential for utopian life through Open Source? Perhaps; Life sitting in a rented basement writing free code and barely paying the bills isn't a terrible prospect to me, I could really digg that life. But as I get older I realize people cannot build a future doing that. People that attend Open Source Symposiums are not impoverished, they can afford plane tickets; the mozilla guys are doing well for themselves; my professors have families they support. Is it wrong of me to want the same standard of living as they?

The key to life is getting paid to do something you love, and thats what I am trying to look for. I really love programming, when I have to time to sit down and dedicate 6 hours to the mozilla code base trying to solve my project, I am having a great f'in time. Other open source projects would no doubt derive the same pleasure in me, and in this wiki-report I have discussed two other open sourced projects which seam very interesting to me.

What I am left with as I leave the FSOSS is the belief that employment in the world of open source is possible. On projects like METRo undiscovered fountains of wealthy lay hidden, waiting for a lucky prospector to come along and strike gold (or perhaps pyrite). With projects like XEN, large mining facilities have already been established, and those with the pick and shovel of knowledge can come assist the extraction process.