I also agree with the idea of a greater open-source initiative on the part of FIRST.
Open source has become
huge in the CS world recently; and one reason is because of all the advantages it provides. FIRST's development team can remain "benevolent dictators" of their code, just like Linus is with the Linux kernel - contributions may be submitted by anyone, but only the worthy get merged in. I think that the community is dedicated enough to make meaningful contributions back upstream - and this benefits everybody.
Many people also regard the field software as a "mystery box" and have no idea how any of it works. An open code base will let people understand how the field functions, because they can peruse the code themselves. I think this might reduce some of the anger we've seen in recent years - this weekend's API issues and last year's delayed pedestals and hot goals come to mind. Who knows, maybe somebody in the community would have spotted an optimization that could have fixed the problems quickly. Often, a new set of eyes is all you need to spot errors (my favorite tactic is to
Rubber Duck Debug with a stuffed
tux toy on my desk).
I can, however think of a few drawbacks. Mainly developer time. I can only imagine how stressful being a developer at FIRST (it's a pretty small team, too) is this time of year, and adding in a responsibility to watch a public repository can be a lot. However, most of the main contributions can come back in the offseason, when they have more time. An open source repo also shouldn't contain any advance information about the next game. I liked the suggestion above about following the Android model - code doesn't have to be pushed to the repo until kickoff.
To me, the benefits of a greater open source involvement far outweigh the cons. I know that if the FMS API was open source, I would have spent a significant chunk of time this weekend helping debug it, and I would have been happy to help contribute fixes. Plus, FIRST could set a great example for teams by promoting open code; something all computer science students should have experience with when the enter the real world. FRC already gives so many positive experiences, this is another one that could make a great difference.
Plus, GitHub has a
much better UI than TeamForge...