Skip to Content

Yearly Archives: 2005

Open Source and Defense

Permalink

Phlak linux logo, http://phlak.org/Recently I recieved an email from Jay Lyman of NewsForge.net who wanted my input on an article he is working on:

I heard you talk a little about your work developing software at NASA when I got a tour of the OSU Open Source Lab earlier this year. As I recall, you mentioned that some of your work had the potential to end up in weapons systems, and a discussion of the matter then followed. I’m working on an article now on the appropriateness of open source for weapons, military and national defense and would like to include your input.

This is a very creative and timely topic given our current political climate and I was happy to help by answering the questions that followed.

Do you believe that military, weapons or defense applications are contrary to the ideals of the open source software community? Please explain.

Freedom is the number one ideal of open source and I believe it would be contrary to these ideals to restrict what the software is being used for. The FOSS community is providing a general purpose foundation for a computing system that requires a great amount of customization for a military application and because of the dedication to the ideals of freedom I think it is a valid however possibly unfortunate use of the software.

As a developer, are you concerned about the use of your creations and development for military/defense purposes?

The project I worked on this summer while in the NASA Goddard Robotics Internship Program was general purpose hand recognition software that had as much application on a Mars rover and physical rehabilitation as it does on a military platform.

This is the only software that I have ever developed that has any military applications.

Although I am concerned that the software could be used in a weapon I am hopeful that more productive application may be found. And by using a FOSS license a developer may be inspired by this software and create an entirely new application.

Do you believe open source is appropriate for these types of applications and national defense?

Ensuring that FOSS is protected by licenses that offer liberal and wide freedom to everyone is key. It would be dangerous to start trying to put any restrictions on how FOSS is used as many good things can come out partnership with governments such as the NSAs SELinux.

Furthermore creating additional barriers of use may confuse consumers and scare off vendors from distributing FOSS.

For example would using Linux on desktops in the Senate be considered defense use? Senate does handle defense funding and decide on military actions.

From your perspective, how significant is open source software in this area?

The group that I worked used Linux for prototypes. However this is primarily R&D and proof of concept work. Deployed military applications more than likely are then converted to a specialized CPU like an FPGA.

I think FOSS is used for rapidly prototyping and feeling out a concept but deployed hardware is futher ruggedized and made more compact and manufacturable by special hardware.

Anything else you would like to add?

Freedom is a central value of the community and I think restricting that freedom to protect from unwanted users, such as the military, would be subverting this value.

The next day after emailing my response I started reading The Debian System and read the following passage:

The additional ability to use Debian for whatever purpose a user thinks fit is equally important. Debian does not allow any discrimination of persons, groups, or fields of endeavour. Debian may be put to use by anyone for anything, even in morally debateable domains, such as genetic research and warfare. Debian does not attempt to define what is acceptable and what is not because it would put a limit on the freedom of its users

So it seems that the community has already given some thought to this topic; however I am still anxious to see what Jay has found from the research of his article.

Note: Tux logo borrowed from Phlak linux, a modular live security Linux distribution, see http://phlak.org

Mozilla Day Part 1

Permalink

Today shall be deemed Mozilla Day.

Update: Write-up from the OSLUG Website

Weather Balloon
Spectator balloon
Last Saturday at a Kveton BBQ Polvi, Marineau, Kveton and I were trying to come up with an idea to celebrate the 100 Millionth download of Mozilla Firefox.

At 50 Million we painted a Firefox logo mural in the middle of the MU quad which got a ton of attention. This time we wanted to do something even bigger so after several suggestions like paper mache logos and beachballs.

Then I remembered the NASA Oregon Space Grant Consurtium and LaunchOregon weather balloon program. Perfect!
NASA and Firefox together at last
So after a few minutes of thinking through the logistics it was a done deal.

On Monday I went to the Space Grant and talked to Catherine Lanier at the OSGC and she was pumped! w00t. The weather balloon was a go.

By Friday Northwest Graphic Imaging had donated a 5′x6′ poster that would fly on the balloon, press was covered and we found out perspective students would be hitting the quad at 12:00pm for launch due to the Beaver Open House.

The event went off smoothly today and we had a ton of people and coverage in the quad. It was a great collaboration of OSLUG, NASA Oregon Space Grant Consurtium, Mozilla, and NW Graphic Imaging. Thanks guys!

Around 3:00pm the satellite should have landed back on Earth from a descent of 100,000 feet. The satellite carried two cameras, one pointing down and another pointing at the poster both were on a 3 minute delay. And when we recover the balloon there will be amazing shots of the horizon and the Firefox logo.

Mission Success

Permalink

I’m Back

I'm Back!

Although serious injuries almost resulted from the obvious ending to this situation it was alot of fun at the time.

NASA

The last 5 weeks at NASA were fantastic; everyone came together and finished not only their team projects but also the group project.

In those last weeks I finished up the hand tracking software although I never got the chance to integrate it in to Archie, there just wasn’t enough time. But I did manage to make a neat demo of the software in action:

Click to play video of hand tracking software

In amongst finishing up Archie I was elected the President of the NASA Robotics Internship Program Alumni Association. My first order of business as President is organizing the “reunion trip” to Vegas to see the DARPA Grand Challenge. When we visited CMU Red Wittacker assured us that the Red Team Racing team was going to win the challenge this year; we will see first hand.

In the future I will be working with the Treasurer Daniel Calvo to establish the Alumni association as a incorporated non-profit guaranteeing not only our positions as dictators for life but also giving us an opportunity to figure out how to do it. The only difference between a non-profit and for profit organization is one isn’t allowed to make money; pretty obvious huh?

New Town Pennsylvania
After graduation Kim and I took Amtrak up to New Jersey to eventually meet Kim’s Uncle, Aunt and Cousins at their home in New Town PN.

I couldn’t think of a better way to end my crazy 10 weeks on the east coast then sitting out by the pool and talking to Freddie and the family. If any of them are reading; thanks for the conversation and hospitality.

Reading
Since my last post I finished Robot Visions a collection of Asimov’s short stories; this book was a great collection and the introduction had some interesting insight from Asimov about the Three Laws of Robotics; the most famous words he ever wrote.

Given my next few weeks off I have started to tackle the first volume of The Art of Computer Programming which promises to be a good warm for school. On Intelligence; which was recommended to me by Freddie and it is a book that offers one of the first theories on how the brain creates what we call intelligence.

!DEAD

Permalink

The rumors of my death are greatly exaggerated. I have been too busy doing things to have time to write about them. So what have I been up to?

Human Robotics Interfaces
URBIE
My robotics internship team has been assigned the task by Anthrotronix to create a platform for testing new robotic input devices. To get a jump start we were given a shell from a prototype of the iRobot PackBot. Over the last few weeks we have been researching and purchasing parts for the robot including: a PC104 Mainboard (it is fricken sweet), microcontrollers, power systems, cameras, ultrasonics and a whole range of other cool components to get this thing up and running.

There is a lot of work to be done but seeing the thing actually move around under its own power on Friday has really got me excited.

Image Processing
I have been spending most of my time writing image processing software with the goal of reducing images down to smaller and smaller pieces of data. A picture may be worth a thousand words, but the goal of image processing is to find one or two really useful ones. My primary task is to take video of a person making large hand and arm movements and figure out what movements they are making. For a human being this is an easy task, especially when the gestures are made over several seconds and may be made over one or two feet. But for a computer this task is a difficult one.

This is an excerpt from our upcoming midterm poster presentation:

Controlling Urbie using broad arm and hand gestures is our primary goal. Our approach uses a standard webcam and PC to do processing of the video to detect the motion of skin colored objects in a scene and then match those with a gesture template on a 3×3 grid. The algorithm takes the following steps:

1. Mask the image to match only skin tones

2. Use a timed motion history image (tMHI) to track motion in the scene [Davis, 95]

3. Input x,y over entire motion into stroke matching algorithm [libstroke]

The final output will be a string containg the numbers of the boxes that the motion passed through in order.
diagram of stroke

Sight Seeing
Being right next to the nations capitol and one of the largest research sites for NASA leads to plenty of opportunities to see some great things. Photos taken by myself and the other 27 interns can be found over at grip.ifup.org/photos. My favorites include the Discovery Channel chopper, the open air spider exhibit at the national zoo and the robots at the Johnson Space Center.

Reading
Between the metro rides, forty minute commutes to work and time spent in airports and shuttles I have had alot of time to read. Before we visit the Computer Science and AI Labs at MIT next month I thought it would be good to read up on Rodney A. Brooks, the lab director. So I borrowed a compilation of his papers on subsumption architecture called Cambrian Intelligence The Early History of the New AI. It is a very good read.

On the fiction side of things I just started “A Heartbreaking Work of Staggering Genius” and also purchased two books from Orson Scott Cards “Ender’s Game” series: “Ender’s Shadow” and “Speaker for the Dead.”

Tomorrow
At 2am I will be sitting in a big auditorium at the University of Maryland watching some of the first footage from Deep Impact and about 18 hours after that watching the largest fire works display in the country in Washington DC. It is going to be great!

Kernel and Mozilla Builds

Permalink

tuxIn the last few weeks I have had the opportunity to watch releases of both Mozilla (1.0.3) and the Linux Kernel (2.6.11.8 aka Woozy Beaver). These are two of the largest open source projects in existence today and watching the release, build, bug tracking, and communication systems used by these projects was an eye opening experience. Why was it so interesting? Because these projects have strinkingly different ways to develop software.

Bug Tracking
Bugzilla is used pretty much exclusively by Mozilla to track issues, patches and the versions of software that they effect. Chase Phillips of Mozilla seemed very happy and comfortable working with the interface and understanding how and what all of the flags meant. It is a system that seems to work very well for the Mozilla crew.

Alternatively Greg KH said that the bugzilla.kernel.org rarely gets the attention that it needs and ofter goes ignored by kernel developers; although Andrew Morton does notify the proper subsystem maintainer if a bug has been sitting in the database too long. Instead the LKML is used as the primary place for tracking bugs and patches.

The kernel seems to have alot more “buy in” from its community of developers than Firefox does. And from my limited experience in working with open source communities, I think that the use of a mailing list over a BTS could make this difference. When filling a bug report people generally file and forget never having to get involved further. But with a mailing list you post your own problem and in response get to see everyone elses bugs and get introduced to the development process as patches poor into your mail box.
firefox
I realize that there are many other differences between the projects but I think that the dynamics of a mailing list are superior in getting people involved in a software project. But it has its draw backs- the LKML is historically a very harsh environment to get introduced to as the existence of Kernel Newbies and Kernel Mentors suggests. Furthermore some people do not feel comfortable working with mailing lists and smaller projects may miss out on bug reports from users if that is there only form of contact.

Source Code Management
Mozilla uses CVS and have some cool tools setup and integrated with it. Chase gave us a brief tour of Tinderbox (see below), LXR and Bonsai. If there is something that you want to know about the sourcecode these services would be a real help.

The Kernel deals in patches sent through email in particular Greg showed off some cool scripts that allow mbox files containing patches to be automatically parsed applying the patch after a dry-run and adding the patch writers information to the commits and changelog. It all seemed to be a very regulated and standardized process that was inspiriing to watch.

Recently the kernel developers have been working on git and from Gregs recommendation I have been following its development and all I can say is WOW the system is already usable after a month of work and it is looks to be one of those software products that is so practical, simple and pragmatic that in a few years it will become the standard. At the very least I have been having fun reading the source and watching it being developed.

Automated Builds
Mozilla’s Tinderbox system was impressive. The system was polished and well used by the developers. Particularly the integration with CVS and the ability to comment on who was taking charge and fixing the issue was neat.

The Kernel doesn’t have such a system although I have emailed the IA64 team which runs this service and I have been following the git mailing lists and playing with cogito. Maybe I will write one before someone points me to one that exists already :-).

Thanks Guys

Greg KH PCI, USB, I2C, Driver Core and 2.6.x.y maintainer.

Chase Phillips - release engineer for Mozilla

Dave Miller - system administrator for Mozilla

SpreadButter!

Permalink
SpreadButter Logo

A few days ago Beth Gordon suggested the idea of SpreadButter.com as a spoof on the great community developing over at SpreadFirefox. I just couldn’t stop laughing after she suggested the idea, so I did the only logical thing; I registered the domain and installed CivicSpace.

Already some of my friends have written some pretty funny odes to butter and I hope you will too.

Heck, SpreadButter has even been on Slashdot with Polvi submitting the poll I wrote.

SpreadButter!

OpenCV

Permalink

Recently I have started playing with a computer vision library. But it is one of those pieces of software that just moves sooo slow because the developers are hard to get ahold of.

In particular I have a terribly trivial patch that makes the library compile under Linux 2.6 and no one has even commented on it on the mailing list or bug tracker. Furthermore the documentation currently has examples that do not compile because of missing libraries and almost twice a day someone is asking how to fix it on the mailing lists.

To make things worse the mailing list is hosted on a closed Yahoo! Groups account and requires logging in to view. Gah!

In any case I am doing my part and I am going to update the documentation and post it on my wiki as soon as possible. If I can’t get the developers attention I see a fork in the future…

Maintain Talk at Panug

Permalink

PANUGAt InnoTech I met Ed Sawicki of the Portland Area Network Users Group. Ed is working on a new book about DNS outside of the world of BIND and was very interested in Maintain since it uses Tinydns as a backend. In any case he convinced me to give a presentation.

On April 21st Danny and I gave the talk (OO.org Impress File) in a conference room on the Novell campus in Tigard. Unfortunatly the 21st happened to be one of the first sunny and warm days in several weeks so only about 10 of the expected 25-30 showed up to the meeting (I keep telling myself that is the reason for the low turnout :-)).

Also a good friend of mine, Ryan Miglavs, stopped by to watch the presentation. Ryan and I go way back, waaayyyy waaayyyyy back, to a time when squirrels roamed the country side and anti-pirates walked the streets. Phew, I am glad I got those inside jokes out of the way (you better be reading Ryan).

In any case it went well and I hope a few people went away wanting to try out the software. And I would like to thank PANUG for inviting me.

One interesting thing I learned from Ed during the presentation is that DJBDNS supports handing out different records depending on what IP they come from. This coupled with IP to country mappings would make for an interesting way to distribute the load accross a mirror network.

The Perfect Summer Internship

Permalink
NASA Logo

What is the recipe to my ideal summer internship?

  • 1x Robotics
  • 1x Image and Voice Processing/Recognition
  • 1x Embedded Linux
  • 1x Internet Technologies

Now of course it should be in a really neat location. I have always wanted to live on the east coast and visit the MIT AI lab and the NASA centers; so lets put it in Maryland. To finish it off I want to be working for some very talented people and most important of all making a difference in peoples lives.

In January Kim told me about a new NASA robotics internship program, I applied and patiently waited as the date of notification for interns was pushed back several times, settling on April 1st 2005. The 2nd and 3rd came and went with no phone call and I began considering my other options.

At 10:30am today my phone rang, it was from an area code that I didn’t recognize and I almost elected not to answer. I am glad I didn’t make that mistake.

It was Lubna Rana of the Goddard Space Flight Centers Office of University Programs and she had some good news. I got my first choice project for the Robotics Internship Program and I should be in Maryland on June 6th 2005. Wow! It was the last thing I expected today.

The project I will be working on is called “CosmoBot,” a robot used to help educators and therapists give better care to children with special needs. And it will be my job, along with 2-3 other students, to figure out how to integrate image processing, voice recognition and wireless sensors in to the product over a 10 week period.

It is going to be a great summer!

Other Cool Internships
Fellow LUG members Alex and Jeremy are taking off on some cool internships too:

Open Source Business Models

Permalink

Jive LogoWhy did you open source your Jabber library and server?
I asked this question to the great guys over at Jive Software during their open house last month. To my suprise I learned that their flag ship product Jive Forums began life as an open source application but was re-written as a closed source application when Sun showed an interest in using it to power the Sun developer forums.

Today Jive runs jivesoftware.org on which they host a number of projects based around Jabber. Although I am sure they all feel a need to give back to the OSS community given their own beginnings it also makes business sense for them. Their Live Assistant product is based on the XMPP (Jabber) standard and as such if they are able to help that community grow and get corporations to deploy IM systems using Jabber, then when the time comes to pick a Live Assistant product Jives Live Assistant will be the first choice.

It makes business sense: it helps generate revenue, grows a community around a technology that have developers familiar with, and they have also hired a few developers over the years who have been significant contributers to their open source products.

Now this is by no means the only way in which a company can make money off of open source.

Atlassian and BitMover both have give/gave their product gratis to open source projects as a way of gaining good will in the community. This works in a few different ways:

  1. Most open source developers also work for a company that has a budget and their own closed source products. If an employee is pleased with the product, he will want to use it at work too
  2. Good ol’ grass roots advertisement, these tools are going to get alot of press. Before BKBits.net, no one had heard of BitKeeper, and without the help of Linus’ star power I can’t imagine that would have changed
  3. Testing and bug reports. There is no distributed software development project bigger than the Kernel, if BitKeeper could handle it, it could handle anything. Not only that but open source developers have a tendency to tell it how it is and report truthful and helpful bug reports that are not sensitive to any political or organizational choices. At the end of the day the company is going to get an improved product.

And of course their is always pay for support model. This is what I think of as the classic open source business model that has been adopted by Red Hat, Mandriva, Progeny and the rest.

Why am I so interested?
Last week I visited a “Pitch Night” with a few of the people at Oregon Venture Partners and they said that one of the areas that they have been investing in is open source software. But, they aren’t a philanthropic group, and some sort of business model needs to exist to run a company.

When I was asked to put down my career goals for my scholarship application I stated my wish to create a company around open source software:

It is the blending of both the open source application work with the customer specific consulting that will help me succeed both in my experiences here and once I have graduated from Oregon State University.