according to
http://dictionary.com:
de·vel·op·ment
/dɪˈvɛləpmənt/ Show Spelled[dih-vel-uhp-muhnt] Show IPA
–noun
1.
the act or process of developing; growth; progress: child development; economic development.
2.
a significant consequence or event: recent developments in the field of science.
3.
a developed state or form: Drama reached its highest development in the plays of Shakespeare.
4.
Music . the part of a movement or composition in which a theme or themes are developed.
5.
a large group of private houses or of apartment houses, often of similar design, constructed as a unified community, esp. by a real-estate developer or government organization.
6.
Chess . the act or process of developing chess pieces.
7.
Mining . the work of digging openings, as tunnels, raises, and winzes, to give access to new workings, and of erecting necessary structures.
and
pla·gia·rism
/ˈpleɪdʒəˌrɪzəm, -dʒiəˌrɪz-/ Show Spelled[pley-juh-riz-uhm, -jee-uh-riz-] Show IPA
–noun
1.
the unauthorized use or close imitation of the language and thoughts of another author and the representation of them as one's own original work.
2.
something used and represented in this manner.
so why am i writing about semantics here?
well most days when we build robots we are building on the work of others.
is this Development or Plagiarism?
in the quotes above i am clearly just copying and pasting someone else's work and using it for my own purposes.
that's fine. i've not tried to hide the fact.
all credit for the text is inferred by the link to
http://dictionary.com.
when you are quoting someone directly it is a pretty clear cut case.
so what about when you include someone else's code/circuit element/documentation in your project?
well it's a big gray area....
here are my thoughts.
example 1.you see a cool project on the internet, think "that rocks" and set off to make your own from scratch, without looking at the technical details and solve all the technical problems on your own.
Q. do you
have to credit the original project?
A. unless the original is truly groundbreaking, probably not.
although much of the project may be the same you did it on your own right?
Q.
should you credit the original project?
A. absolutely. it's only polite.
someone else inspired you so repay the favor by saying sending people their way.
Q. what are the advantages of crediting the original project?
A. more than you might think.
- first of all, it does not make you look any less clever than pretending you came up with something all on your own. building on someone else's work is the smart choice.
- most people who document things on line are doing it because they are nice people. it is really demoralising when you discover someone has ripped of your work without giving you any credit. a simple ThankYou encourages people to post more documentation which might be useful to you in the future.
- it gives anyone reading your documentation more perspective. the more knowledgeable your users the less support you have to provide.
- it makes the documentation more interesting if more cool stuff is listed.
- this is the big one: the more links to
high quality documentation of
similar projects you put on your web pages the better your search engine results will be.
example 2.you see a cool project on the internet, think "thats pretty slick" and set off to make your own after looking at the technical details of the online project.
most of the work is entirely your own but you have been unavoidably influenced by the original.
Q. do you
have to credit the original project?
A. that depends on the lenience attached to the original project.
for most "Open Source" type licenses,
yes you do.
although it's legally very hard to prove and there is unlikely to be any repercussions if you don't it is definitely the polite option.
Q.
should you credit the original project?
A. absolutely. you have copied someone else's idea even if the implementation is your own.
briefly make it clear to what extent your work is similar to the original.
Q. what are the advantages of crediting the original project?
A. very much the same as example 1.
example 3.you are making your own entirely original project but want to copy and paste in some bit of code you can't be bothered writing for your self.
also you link to some external libraries.
Q. do you
have to credit the original code you have used?
A. first check any attached licenses and make sure you are allowed to re-distribute the "borrowed" code.
- generally with code snippets posted on line without leniences the spirit they are intended to be used is just to copy them in and forget.
- copying in large chunks of someone else's project or redistributing files from libraries is another matter. as a general rule of thumb credit should be added in the form of inline comments for "copy and pasted" code.
- "borrowed" library files should be left with any original licensing and ownership information in place. they should also be credited in any documentation you provide.
Q.
should you credit the original code?
A. absolutely. i would make the exception and say "no" for short snippets copied from web forums but everything else should be attributed to the original developer.
Q. how does this affect any datasheets you read, compilers, IDEs, hardware programmer, etc?
A. i would say: include them all. generally the licensing on components like these do not require it but if you intend other users to be able to build your project then all information is useful.
for example, everyone who uses AVR-GCC to compile their microcontroller code should say ThankYou to those guys somewhere in their docs. the GCC developers are the hardworking un-sung heroes that make much of what we do possible. for free.
Q. what are the advantages of crediting the original project?
A. very much the same as example 1.
so yea, dunk rant over.
publishing your latest cool project is great for the on line community but people actually think more of you if you provide the full story. (ie. links to other pre-existing similar works.)
i submit this as a simple example of what i'm talking about:
http://forums.trossenrobotics.com/datacenter/drivers-libraries-firmware-7/axon-ps2-controller-interface-library-144/it made me feel appreciated for the effort i put in and it improves on my original work.
by including one link to my original project JadeKnight no longer needs to write loads about the theory behind it.
everybody wins.
(except the guys sitting in the baesment writing AVR Libc. (
http://www.nongnu.org/avr-libc/) ThankYou GCC coder guys!!!)
dunk.