View Single Post
  #10   Spotlight this post!  
Unread 20-03-2011, 15:41
Tristan Lall's Avatar
Tristan Lall Tristan Lall is offline
Registered User
FRC #0188 (Woburn Robotics)
 
Join Date: Aug 2001
Rookie Year: 1999
Location: Toronto, ON
Posts: 2,484
Tristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond repute
Re: I was wondering...

I'm coming late to the IP discussion, but just to clarify some terms:
  • In the U.S., copyright is automatic. If you create a creative work as part of a private or non-federal government entity (e.g. yourself, a business, most state and local governments, etc.), it is automatically protected.
  • In the U.S., public domain means no copyright (i.e. the copyright expired, was abrogated, or never existed).
  • The GPL (GNU General Public License) is a copyright licence which allows you to modify and redistribute the work only under certain conditions (one of which is that derivatives will be available under the GPL). If it's already public domain, the GPL is irrelevant.
  • The same goes for Creative Commons licences, except that the "ShareAlike" provision is optional (i.e. the copyright holder can choose not to require it).
  • Code is considered a creative work, and is therefore copyrightable; algorithms are a grey area. Algorithms are sometimes held to be patentable, but this is another can of worms.
So basically, Chris is right. Code, even from a GPL-licenced library, is copyrighted, unless it has for some reason fallen into the public domain. If copyrighted, you can use it under the terms of the licence offered, or under fair use (in the U.S.) or fair dealing (in Canada and elsewhere).