Go to Post The fact that although many of us disagree on specifics of how FIRST should conduct events, design a game, and facilitate as much fairness between teams as possible, in the end we still greatly enjoy each other's passion for FIRST and provide genuine respect for each other - Andy Baker [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 25-03-2003, 16:16
Jeff_Rice's Avatar
Jeff_Rice Jeff_Rice is offline
ElementisRegamusProelium
#1359
Team Role: Programmer
 
Join Date: Dec 2002
Location: Linn County
Posts: 283
Jeff_Rice will become famous soon enoughJeff_Rice will become famous soon enough
Open source

I am doing a paper on open source. What do you think about it?

If you are pro open source, like me, what do you think about programming in FIRST- share or not share?
__________________
"He said my name is Private Andrew Malone
If you're reading this then I didn't make it home
But for every dream that's shattered another one comes true
This car was once a dream of mine now it belongs to you
And though you may take her and make her your own
You'll always be riding with Private Malone" David Ball, "Private Malone"
  #2   Spotlight this post!  
Unread 25-03-2003, 17:08
Yan Wang's Avatar
Yan Wang Yan Wang is offline
Ithaca is Gorges
AKA: John Wayne
FRC #0639 (Code Red Robotics)
Team Role: Alumni
 
Join Date: Sep 2002
Rookie Year: 2001
Location: Cambridge, MA
Posts: 1,910
Yan Wang has much to be proud ofYan Wang has much to be proud ofYan Wang has much to be proud ofYan Wang has much to be proud ofYan Wang has much to be proud ofYan Wang has much to be proud ofYan Wang has much to be proud ofYan Wang has much to be proud ofYan Wang has much to be proud of
Send a message via ICQ to Yan Wang Send a message via AIM to Yan Wang Send a message via MSN to Yan Wang Send a message via Yahoo to Yan Wang
I agree with open source. However, for FIRST, I don't think it's necessary because there is a competition aspect to it (well, maybe a lot of it). Throwing out some basic code for rookies is great, but I think that teams should keep their more advanced code because it is from experience and tedious work that they accomplished it.
__________________
Code Red Robotics Team 639 Alumnus | www.team639.org
<Patrician|Away> what does your robot do, sam
<bovril> it collects data about the surrounding environment, then discards it and drives into walls
  #3   Spotlight this post!  
Unread 25-03-2003, 17:17
Jeff Rodriguez Jeff Rodriguez is offline
Too young to be an 'old guy'
FRC #0155 (Technonuts)
Team Role: Teacher
 
Join Date: Jun 2001
Rookie Year: 1999
Location: Newington, CT
Posts: 1,943
Jeff Rodriguez has a reputation beyond reputeJeff Rodriguez has a reputation beyond reputeJeff Rodriguez has a reputation beyond reputeJeff Rodriguez has a reputation beyond reputeJeff Rodriguez has a reputation beyond reputeJeff Rodriguez has a reputation beyond reputeJeff Rodriguez has a reputation beyond reputeJeff Rodriguez has a reputation beyond reputeJeff Rodriguez has a reputation beyond reputeJeff Rodriguez has a reputation beyond reputeJeff Rodriguez has a reputation beyond repute
Send a message via AIM to Jeff Rodriguez Send a message via Yahoo to Jeff Rodriguez
I love open source. One of the best programs i've used (VirtualDub) is open source, and because if open source, it gets better everyday.
in FIRST though, i agree with monsieurcoffee. Basic code is good, but if it was all open, then great programing would lose its greatness.
__________________
173, student: 1999-2002
173, mentor: 2005-2010
155, teacher: 2011-
  #4   Spotlight this post!  
Unread 25-03-2003, 17:19
evulish's Avatar
evulish evulish is offline
1010100
AKA: Grant Harding
#0084 (WATTNESS (bot: Chuck))
Team Role: Alumni
 
Join Date: Jul 2002
Location: Towanda/Wysox, PA
Posts: 1,434
evulish is just really niceevulish is just really niceevulish is just really niceevulish is just really nice
Send a message via AIM to evulish
Open Source is good. Whether it's a good thing for FIRST or not, I'd have to say it's not too big of a deal. It would be nice for people to share their code after competition is over. One reason why it's not exactly neccisary is that most teams, if asked, will explain how anything on their robot works. It's quite understandable that teams won't release anything about their robots until after ship-date, but after that, I think sharing anything would be nice.
__________________
I'm a professional web developer. I'm good with PHP, Perl, Java/JSP, some RoR, XML, Javascript (AJAX as well), (x)HTML, CSS, etc.. Validated code is good; fully cross-browser code is better (you comply to your users and the software they use, not the other way around. Sorry!)
  #5   Spotlight this post!  
Unread 25-03-2003, 17:43
sevisehda's Avatar
sevisehda sevisehda is offline
Registered User
#0666
 
Join Date: Jan 2003
Location: The South
Posts: 215
sevisehda is an unknown quantity at this point
Send a message via AIM to sevisehda
Just like some teams don't feel comfortable sharing pictures of there bot until they take it out of the crate at competition because they have a unique component they don't want to share. Some teams may feel there code gives them a tactical advantage and may not want give that advantage up. After finals are done many teams do share more info about there bots inclusing code.

I think it would be good if people shared there code because it would force force the more creative teams to better themselves and allow the less skilled teams to learn from the shared code. Overall bettering next nears competition.
  #6   Spotlight this post!  
Unread 25-03-2003, 17:58
rbayer's Avatar Unsung FIRST Hero
rbayer rbayer is offline
Blood, Sweat, and Code
no team (Teamless Orphan)
 
Join Date: Mar 2002
Rookie Year: 2001
Location: Minnetonka, MN
Posts: 1,087
rbayer is a glorious beacon of lightrbayer is a glorious beacon of lightrbayer is a glorious beacon of lightrbayer is a glorious beacon of lightrbayer is a glorious beacon of light
Send a message via AIM to rbayer
Open source is definately a "good thing". I wrote a research paper on it a while back, so let me know if you want any info, etc.

As for open-source in FIRST, I'm all for it. As most people know, all the stuff I've ever done is available (with source) on my website and I plan on keeping it that way for as long as I can. I would have put my 2003 code up there months ago, but I just finished writing it last Wednesday night in the hotel room before practice rounds on Thurs. Anyways, as soon as I get the chance, I'll be uploading the new code and some other stuff.

--Rob
__________________
New C-based RoboEmu2 (code simulator) available at: http://www.robbayer.com/software.php
  #7   Spotlight this post!  
Unread 25-03-2003, 18:23
Gadget470's Avatar
Gadget470 Gadget470 is offline
A Fire Outside
AKA: Brandon Joerges
no team (Alpha Omega)
Team Role: Alumni
 
Join Date: Jan 2002
Rookie Year: 2000
Location: Madison Heights, MI
Posts: 1,000
Gadget470 is a jewel in the roughGadget470 is a jewel in the roughGadget470 is a jewel in the roughGadget470 is a jewel in the rough
Send a message via ICQ to Gadget470 Send a message via AIM to Gadget470
some of the comments here are contradictory to themselves.

Quote:
I agree with open source. However, for FIRST, I don't think it's necessary because there is a competition aspect to it
This is why programs are closed source.. competition. Then an open-source program can best it if they user understands the source.

i.e. Windows vs Linux, Windows is point and click until you figure something out, Linux can be more productive if the user knows what he/she is doing.
Closed vs Open code in FIRST: Closed.. if you hand someone your control system they can make it work by playing with it enough.
If they have read the code and understand it, they'll know how to move stuff around right away.

I understand a lot of teams like the "element of surprise" in not revealing their bot before their first regional but once regionals have started they "open" their bot to the public. Just seeing a bot doesn't mean people know how (or how well) it works. I think that was very obvious this year with teams saying "We're fast" but not saying what fast is and being overestimated when competition comes.

Many teams have neat designs that can't be seen, such as Wildstang's Stang Sense and StangPS. I'm sure many programmers would love to see how these were done and if I'm not mistaken Stang Sense info was released and is now helping other teams.

"Co-opertition" should be the name of the open-sourcing of code in FIRST. (Yes I know this was a game name). I don't think any team could fully implement another team's code for the current year but they can get new ideas for the next year. When one team raises the bar, they should teach how it was raised so that another team can raise it further and new teams can catch up.
  #8   Spotlight this post!  
Unread 25-03-2003, 19:00
Raven_Writer's Avatar
Raven_Writer Raven_Writer is offline
2004 Detroit & Pittsburgh Winners
AKA: Eric Hansen
FRC #0005 (RoboCards)
Team Role: Mentor
 
Join Date: Jan 2003
Rookie Year: 2002
Location: Melvindale
Posts: 1,549
Raven_Writer is just really niceRaven_Writer is just really niceRaven_Writer is just really niceRaven_Writer is just really niceRaven_Writer is just really nice
Send a message via ICQ to Raven_Writer Send a message via AIM to Raven_Writer Send a message via MSN to Raven_Writer Send a message via Yahoo to Raven_Writer
open-source all the way! I use it for learning purposes when I was programming on OpenGL and DirectX. I like looking at others code so that I know if my way would work better/run faster than the other persons.
__________________
AIM: wisprmylastbreth
EMail: nightskywriter@gmail.com
Y!: synsoflife

"ai yoru ga" -- "Love the nights"
  #9   Spotlight this post!  
Unread 25-03-2003, 19:13
mtrawls's Avatar
mtrawls mtrawls is offline
I am JVN! (John von Neumann)
#0122 (NASA Knights)
Team Role: Programmer
 
Join Date: Mar 2003
Location: Hampton, VA
Posts: 295
mtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to behold
Send a message via AIM to mtrawls
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.
  #10   Spotlight this post!  
Unread 25-03-2003, 19:58
JimO JimO is offline
Registered User
#0815
 
Join Date: Jan 2003
Location: Allen Park, MI
Posts: 2
JimO is an unknown quantity at this point
Quote:
Originally posted by mtrawls

<clip>

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. [/b]
Right on.

Besides, Open Source implies that should you decide to distribute your work, you distribute the source code with it. It's as much about empowering the user to use & adapt the code to his/her specific needs as it is about developing stable code which follows good practice.

Those that don't "get it" are unlikely to distribute their code in "closed source" anyway. The achievements of the self-serving will be quickly forgotten.

-Jim
  #11   Spotlight this post!  
Unread 25-03-2003, 20:03
Raven_Writer's Avatar
Raven_Writer Raven_Writer is offline
2004 Detroit & Pittsburgh Winners
AKA: Eric Hansen
FRC #0005 (RoboCards)
Team Role: Mentor
 
Join Date: Jan 2003
Rookie Year: 2002
Location: Melvindale
Posts: 1,549
Raven_Writer is just really niceRaven_Writer is just really niceRaven_Writer is just really niceRaven_Writer is just really niceRaven_Writer is just really nice
Send a message via ICQ to Raven_Writer Send a message via AIM to Raven_Writer Send a message via MSN to Raven_Writer Send a message via Yahoo to Raven_Writer
I'd like to state this:

If you don't get copyright protection on the source, you are so screwed, and won't win a court battle.
__________________
AIM: wisprmylastbreth
EMail: nightskywriter@gmail.com
Y!: synsoflife

"ai yoru ga" -- "Love the nights"
  #12   Spotlight this post!  
Unread 25-03-2003, 20:32
mtrawls's Avatar
mtrawls mtrawls is offline
I am JVN! (John von Neumann)
#0122 (NASA Knights)
Team Role: Programmer
 
Join Date: Mar 2003
Location: Hampton, VA
Posts: 295
mtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to behold
Send a message via AIM to mtrawls
Quote:
If you don't get copyright protection on the source, you are so screwed, and won't win a court battle.
This is somewhat off the topic, but I suppose it can be mentioned here. While I don't see the potential to become "screwed" by posting your robot's program on the internet, the possibility is certainly present for other areas. As I mentioned in my earlier response (somewhat in passing), I used the GNU GPL on my open source project. For information on this (and a great source for background information for a report) you can visit the GNU website, or specifically, the location of the GPL: http://www.gnu.org/copyleft/gpl.html

For those not familar with it, note that it is not a copyright proection in the normal sense: it is, in fact, "copy left"! Basically, if you distribute your code open source then it states that anyone else that modifies your code and then distributes it must include the same liscense you did (the GPL), and must, by extension, include the source code. That is, they cannot modify your code, make the application closed source, and then sell it to someone else. Its really pretty interesting, and a good source for open source licenses is http://www.opensource.org/licenses/
  #13   Spotlight this post!  
Unread 25-03-2003, 21:27
RoboCoder RoboCoder is offline
Registered User
#1002 (Circuit Runner)
 
Join Date: Jan 2003
Location: Wheeler High School, Marietta Ga
Posts: 65
RoboCoder is on a distinguished road
Send a message via AIM to RoboCoder Send a message via Yahoo to RoboCoder
Lightbulb Closed Vs. Open Source

After reading all of the above posts, I feel I should also express my opinion on this topic. Both sides have very valid, and logical points to their arguments, and there are both pros and cons to both open and closed source. This is my take on how I personally feel teams should handle it:

True, if you do distribute your code, then there is always the possibility of another team copying it, modifiying it, and then using a slightly improved version against you. Or worse (in my opinion), figuring out a way to directly counter the logic used in your code. However, FIRST was made as a learning experience and is it truly worth it to horde your code and not let anyone see it? Neither way is truly the best way to go IMHO.

I personally do not release my source code to other teams. You will not see me posting the source files for our robot until after the competition is over. The reason for this is twofold: 1) the code is not done until the competition is; it is always changing and 2) the off chance (although slim) that another team will use the source to somehow counteract our robots strategy. This comes not really from the standpoint of other teams copying my code, but more from the fear that they'd find a flaw in my code and would exploit that, and its something I can avoid.
However, I am not unwilling to lend my programming expertise (this is my first year in FIRST, but I have used PBASIC before and I have been programming in other languages for years). When I see a situation that I can help out another team with their code, I take it. Whether its showing them how they can make their code more efficient, or they are stuck at a point when they're writing their code, I will help them however I can. In the spirit of the "give a man a fish and he'll eat for a day" quote, however, my first advice I always give in pseudo-code, to demonstrate a concept so that they will apply an idea with their own thoughts and learn more in the process.
If it is specific enough that pseudocode cannot be used, or if that is not enough assistance (if I still feel I can do more for them), then I will start giving them pieces of code that they can modify and apply for their specific needs. I don't just hand them a set of code and say "here, load this and it will work", because they won't learn that way. Instead I do what I can to assist them in finding a solution for themselves. This way, I'm not spoonfeeding them, they're not "stealing" code, and everyone learns something in the end. This, I feel, is the best way of handling the situation that I have come across.
Yes, I am on a rookie team, but as I said earlier, I have had years of programming experience (its a hobby of mine), and I have assisted approximately 10 or 11 teams with their code, and we havent even gone to regionals yet! (ours is this weekend). That is my take on it, just thought I'd throw in my $0.02, let me know what you think, and good luck to everyone.
__________________
You might be an Engineering Major....

if you'll assume that a "horse" is a "sphere" in order to make the math easier

if you know vector calculus but you cant remember how to do long division

if it is sunny and 70 degrees outside, and you are working on a computer
  #14   Spotlight this post!  
Unread 25-03-2003, 21:46
mtrawls's Avatar
mtrawls mtrawls is offline
I am JVN! (John von Neumann)
#0122 (NASA Knights)
Team Role: Programmer
 
Join Date: Mar 2003
Location: Hampton, VA
Posts: 295
mtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to behold
Send a message via AIM to mtrawls
Allow me to clarify my point somewhat.

Quote:
True, if you do distribute your code, then there is always the possibility of another team copying it, modifiying it, and then using a slightly improved version against you.
The idea of it being open source is that if improvements are made, the team would send them your way. Would this happen 100% of the time in practice? Probably not, but given what FIRST and OSS are about, I think if you make this clear, then the team wouldn't use the code "against you" but rather "with you".

Quote:
I personally do not release my source code to other teams. ... The reason for this is twofold: 1) the code is not done until the competition is; it is always changing and 2) the off chance (although slim) that another team will use the source to somehow counteract our robots strategy. This comes not really from the standpoint of other teams copying my code, but more from the fear that they'd find a flaw in my code and would exploit that, and its something I can avoid.
Again, the idea is that if a team finds a flaw in your code then they should send it your way. Obviously there is a chance for some obscure bug to get into your program (or so unfortunate experience outside of FIRST has taught me for years); however, the more eyes you have looking at it the better. Ideally publishing the code would only help. However, I agree, it is a personal (perhaps better said as individual) choice.

Quote:
However, I am not unwilling to lend my programming expertise . ...
And this is what the spirit of FIRST is about! The idea of releasing the code open source is that other teams can look at it and dissemenate information that could be helpful if they are so skilled/inclined. It is an individual decision. However, I think it should be (as you seem to agree) a global responsibility (speaking specifically about FIRST, though it can and should be generalized) to help your neighbour when they seek it -- and as you say, the best way to help, is to give them the knowledge to help themselves.
  #15   Spotlight this post!  
Unread 25-03-2003, 21:46
Jeff_Rice's Avatar
Jeff_Rice Jeff_Rice is offline
ElementisRegamusProelium
#1359
Team Role: Programmer
 
Join Date: Dec 2002
Location: Linn County
Posts: 283
Jeff_Rice will become famous soon enoughJeff_Rice will become famous soon enough
I have watched this thread very closely ever since I created it. In fact, the debate that has arisen in it was part of the reason I decided to write my paper on open source. I am trying to figure out what it means to me. I'll be honest- I have not posted our code online. Mostly its because my team would seriously kill me if I posted it, because it improves our time by a few seconds, and it would very likely do the same for a similar type of robot.
(Boy am I specific!) And if I can't get a team started in Sweet Home, they would be reluctant to let me stay with them if I did that.

But, you will see the code after the season if I make a web site.

And yes, I am more than willing to help anyone with their programming.

I wish I could post it, but as I said, my team would not be pleased.
__________________
"He said my name is Private Andrew Malone
If you're reading this then I didn't make it home
But for every dream that's shattered another one comes true
This car was once a dream of mine now it belongs to you
And though you may take her and make her your own
You'll always be riding with Private Malone" David Ball, "Private Malone"

Last edited by Jeff_Rice : 25-03-2003 at 21:55.
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
White Paper Discuss: FIRST Editor v1.2 Source CD47-Bot Extra Discussion 1 18-09-2003 19:34
Oregon House Speaker Kills Open Source Bill Jeff_Rice Chit-Chat 2 26-05-2003 14:47
Pit News; Direct from the Source Katie Reynolds General Forum 7 13-01-2003 22:28
Open source directory for First teams? Andrew Wyatt Programming 2 23-02-2002 17:32
What time do First offices open mnkysp6353 General Forum 1 30-09-2001 13:08


All times are GMT -5. The time now is 22:38.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi