View Single Post
  #17   Spotlight this post!  
Unread 04-12-2006, 14:34
Dave Flowerday Dave Flowerday is offline
Software Engineer
VRC #0111 (Wildstang)
Team Role: Engineer
 
Join Date: Feb 2002
Rookie Year: 1995
Location: North Barrington, IL
Posts: 1,366
Dave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond repute
Re: Ethics 101: To re-use or not to re-use?

Quote:
Originally Posted by Alan Anderson
This is not an easy thing to do well, for a number of reasons, but prohibiting reuse of code developed before kickoff is pretty close to prohibiting reuse of mechanisms assembled before kickoff.
NO, I very strongly disagree with this. I understand the intent of the rule but I really feel that it is misguided. Code is not equivalent to an assembled part (I know, you only said "pretty close", but I'm not even comfortable with that). Code for a project the size of a robot includes large portions of design as well. People are trying to make analogies between the code and a mechanical part and it really can't be done (not accurately, at least). The mechanical team is allowed to reuse a design. This means they're allowed to re-use a blueprint of the exact part they want, right? This means they're allowed to even re-use a CAD design to generate the exact part on a CNC mill, right? As far as I know, there is no requirement to throw away all the blueprints and CAD designs each year and re-do them (by measuring a previous part, etc). Re-typing is not the same as building another copy of a previous robot part, because by retyping you're repeating a lot of work that for the mechanical part would have been considered part of the "design" and would not have been repeated.

The rule is what it is, but I'd prefer to talk about WHY is it that way, and does it make sense? If we're not allowed to re-use prior year's code, then where does code from Kevin Watson and others fall? If we're trying to equate the code to a physical, mechanical part then shouldn't we require teams to purchase the code from Kevin (and require him to be an approved vendor, and require teams to re-purchase it each year)? Or, if it's given away free, then the "fair market value" of it should be charged against a team's budget. (You have any idea what his code is really worth and how fast THAT would chew through your $3500 limit?)

I wish people would stop trying to draw parallels between robot code and mechanical parts, and instead focus on making a different set of rules which really make sense for software. Requiring teams to re-type is stupid and represents tons of wasted busy-work - I contend that no one learns anything from blindly re-typing code. Re-building a mechanical design allows the builder to learn how to operate the machines, etc. necessary to build that part. However, the other extreme (re-use no code, no re-typing allowed) doesn't make sense either, because then you're throwing away valuable design work that is invariably tied to the code. What interest would it serve by requiring teams to completely start over on the software each year? Don't give me any excuse about being fair to new teams (who wouldn't have software from last year to re-use) because they also don't have the library of mechanical designs that other teams have either, and no one is talking about taking that away.

I guess my opinion on this matter is that the change to the game each year necessitates enough code change on its own. It's highly unlikely that a team could completely re-use code from a previous competition season without at least some modification, and if they can re-use it entirely then they're likely pretty close to the default code anyway. I think the nature of the game changes each year already ensures enough changes are made to the code that there is no good reason to attempt to "legislate" that more be made.
Reply With Quote