Wednesday, March 9, 2011

Open-Source Crowd Shoots For The Moon


The Google Lunar X Prize is offering $30 million dollars for the first privately funded team who successfully lands a robot on the surface of the Moon.  The robot must also travel 500 meters over the lunar surface and then finally send both data and images back to the Earth.  Seems simple enough, right?  Hardly, just coming up with ways to safely get to the moon seems daunting for most people.


Well, one team in particular, Team FREDNET, is taking a whole new approach to this spectacular task.   They are moving forward this project open source style.  You may already know of large open source projects like Linux.  With open source, a team of many individuals can come together to work on the same goal.  The founder and organizer of FREDNET, Fred Bourgeois, believes that the goal of the prize is to make space more open.  With that in mind, he feels why not make the entire project open, open to any wanting to participate and creating an open-source team.
Most of the other teams are funded by larger companies with a wealth of money and resources.  With team FREDNET, it is more about bringing people together to accomplish a common goal.  They also want to bring more awareness to people, and especially young children, the wonders of technology and space.  FREDNET has members on the team from dozens of countries across the world.  This is truly an international open-source project.


Team FREDNET plans to use a small Lander that will deploy a small lunar rover that will use the Lander to communicate back to Earth.  The team has three main components to their project mission: (1) getting the rover to the moon, (2) completing required tasks with the rover while on the moon, (3) and finally transmitting data back to Earth. 


At least two of the members of the project are children under the age of 18.  They were interested in the project and although they had little experience or knowledge in the field, they want to help with whatever they can.  Team FREDNET has been very involved with educational programs by having science projects that fit within the requirements of the mission to help gain awareness to young children.  The team is also having an elementary school level competition that will be used to give a name to the Rover.


I think the creation of Team FREDNET and their open-source ideas and ultimate goals in mind are excellent.  They already have many great members on their team including scientists and engineers along with "regular folks" like you and I.  They are in definite need of participants to help with the overall project and also sponsors to help with funding.  The team has already raised over $3,600.00 by 99 contributors so far.  Team FREDNET is the first and only 100% open-source competitor for the Google Lunar X Prize.  I encourage you to check out their team online at http://www.teamfrednet.org/.  If you like their idea and want to contribute in any way by joining the team and/or donating money, please visit their site and become a sponsor today!


Sunday, March 6, 2011

How are Linux Kernels Numbered?

As mentioned in my earlier blog of "What is a Kernel," a kernel is the central component that works to link the user applications with the processing data found at the hardware platform.  In essence, it is the very core of the operating system.  With so many ideas, fixes, improvement, etc to be made, Linux creates and distributes new versions based on a particular numbering system.
First though, a little history on how Linux was numbered before.  The initial Linux kernels had a simple numbering system.  The first kernel released in 1991 was given the number 0.01.  The next month was followed with a kernel with 0.02.  It was not until 1994 that the current version number system was implemented with a kernel of 1.0.

The kernel versioning system of today is both interesting and unique.  It follows a four number system such as W - X – Y – Z.  The W is the most important number when looking at the version of a Linux kernel.  The W shows the version of the kernel.  As of yet, there have been only 2 series kernels; the first 1.0 kernel mentioned above and also the 2.0 available in 1996. 
The X value shows you two things, first the number of release within the series (X) showing a major revision of the kernel version and second, it's status.  If the X value is even, then the kernel is stable.  If the X value is odd, the kernel is still in its development stage and may still contain bugs.  With this, when the two latest kernels are available, one (the even numbered one) will have already been tested and only contain the necessary drivers.  The second kernel available (the odd numbered on) will have all of the current ideas of the time and allow for further testing to eventually make it stable.  With the Linux 2.6.x series though, new development now takes place in the same revision number.

The Y value, the third number of Linux kernel's versioning system, is the minor number which shows the user progression with the series.   It indicates the minor revision of the kernel and is changed to reflect when new features or drivers are added.  The Z value, the final number in the versioning system represents corrections within the Linux kernel like errors, bug fixes and security patches.  You may even see letters following the numbers.  These letters refer to a release candidate.  If you see these letters following the numbers, it generally means it is a non-official release.  Often the letters represent the individual responsible for that particular release.

I find that the advantage of using the Linux kernel's versioning system is that as a user, you can find what version best suits your particular needs.  You may not need the latest and greatest that there is too offer.  You also may want to know whether or not you are using a stable version as opposed to a version still within its testing phases.  I believe the numbering system is pretty straightforward and users will recognize, with perhaps a little research, what version will work for them specifically.
As a side note, if you are curious as to what version or release of the kernel is being used on your particular operating system, you can use one of several commands.  One of the easiest commands is to use the uname command followed with the –r option.  You will get more detailed information about your system's hardware and software.  The uname shows system information and the –r will show the kernel release.  For my system, when I type in uname –r, I get 2.6.24.  I have version 2 with a major revision release of 6 and minor revision of 24.