|
Re: Ethics 101: To re-use or not to re-use?
There is a neat question that has been raised in this thread - whether software is a concrete "thing" or an abstract "idea".
Consider for a second a description, written in some (human) language, that thoroughly specifies the software of a FIRST robot. All inputs, all outputs, are accounted for. Would reusing this whole between years run afoul of the rule?
I think that this software description mentioned above is a design document, very analogous to a blueprint or a CAD drawing. Assuming that it is practical to fully reuse the design document above, I think that the rules allow it to be used, in undistilled-to-C form.
But do the rules require the entire thing to be distilled to C every year completely fresh or do they allow reuse of old elements? If the C code serves to express an idea from design, then I believe that it is a design document and can be reused, copy-and-paste. If the code itself is a tool or part, then it cannot.
A few years ago, there was an interesting court case in New York; I forgot the name, but in it a professor from CMU makes a very conclusive case that software foremost expresses ideas. Let me try to capture the spirit of his ideas here: If an abstract mathematical description of a system can be an idea, a direct translation of that description into another idea-description/algorithm-description language is still an idea. What I think that this means for us is that teams can reuse elements of prior code, copy-pasted. Elements would mean modules, functional units, whole state machines, etc. But teams would not be able to reuse the parts of the code that came about through the process of converting the description into code - parts that account for how the robot is wired up, specific gain values on sensors, which motor is where, a driver's preferences, etc.
On a more practical note, completely copying prior code, without understanding or modification, would be very difficult because of how much the competition and KoP changes every year - the default code itself has changed so much between the years, even since 2004. I think that the natural changes in the competition itself properly force changes that make running afoul of this rule difficult.
__________________
-- vs, me@acm.jhu.edu
Mentor, Team 1719, 2007
Team 30, 2002-2005
|