|
I almost didn't respond to this, but I think it is important. Let me start by saying that I am a supporter of open source, especially for FIRST -- in fact, I worked on a FIRST simulator this fall that was open source (I used the GNU GPL).
I'm somewhat surprised by the comments I've seen saying that since this is a competition, "closed source" would be more appropriate (well, I use 'surprised' somewhat reservedly; given other comments on CD it didn't come as a surprise, per se).
Note that the greatest principle of this "competition" is GRACIOUS PROFESSIONALISM. Let me form an analogy for the programming aspect of the project by going to the mechanical aspect. If there were a team that couldn't figure out how to begin to build their robot, what would your team do if they had the chance: tell the team that your knowledge is "closed" and only available after the six-weeks ... or the more gracious and professional action of HELPING THEM OUT? I admit this is a bit extreme (the idea of giving a "basic" code base was suggested), however the point needs to be made. I can draw it out further and say: if a team was working on an advanced continuously variable transmission that your team also happened to be working on, and they were having trouble, what would you do: turn your backs and close your doors ... or the more gracious and professional option of HELPING THEM OUT?
Let me summarize somewhat: the net goal of this great project that I've been privileged to be a part of is that in the end of the day we all come out knowing something more: about robotics, about engineering ... and also about life and friendship, etc. Not to drag out an overused statement, but in twenty years what will be most important: that you won some competition or perhaps the knowledge that you gained? Should it not be our goal -- OUR RESPONSIBILITY -- to make sure that we and others all gain the most knowledge that we can by mutual cooperation?
The idea of open source is similar. The basic ideology behind OSS is similar to that of FIRST. You must realize, though, that a program is NOT general, it is specific to your robot (this may seem counterintuitive to anyone who has had abstraction thrown down their throat over and over again, but with PBASIC, it is essentially the facts). What I mean by this is that it in no way would be a "plug and chug" idea; a team couldn't copy your program and hope to "use it against you." It would have to be modified to their robot, and optimized or whatever to fit in their program space.
Okay, so lets examine what could happen in this "dire" situation (sorry for the sarcasm ... its an occupational hazard).
- the team examines your code and learns something about programming
- the team finds a mistake, or possible optimization or some other improvement in the program
- the team modifies your program using minimal effort, and doesn't try at all to learn, only to do the least possible work
The first two items are undoubtedly GOOD THINGS. I suspect the concern is for the last. Well if that is the case, it is their loss (and I don't see this happening often given what FIRST is about). But is it not better to help out your neighbor than to try to make yourselves feel like "better programmers"? Sure after the six weeks of building a robot we all want to compete and try to win. This is natural and I am not against it. But should we hold a victory above helping out others? And would we want to win because we had some knowledge that we didn't share with another team -- or would we want to know that it was because we in fact bulit a better robot, had a better driving team, etc.?
I see it as obvious, but I suppose it is not the case. What I am saying, to summarize, is that open source only helps people learn. I see NO ADVANTAGE WHATSOEVER in keeping knowledge locked up and hidden. I see no honor in winning by keeping knowledge from a team. Sure, not posting your program online isn't a big deal. But if you have the opportunity, go for it. And the idea of not letting a team see it that needs help surely doesn't sound gracious nor professinal to me. Sorry for drawing this out and making it somewhat of a big deal, but I've seen a lot of posts on CD that most definitely do not reflect the ideas of gracious professionalism, and I felt obliged to comment.
|