|
Well, I tried to bring this issue up a few times, and each time it seemed like no one was ready to discuss it intelligently.
Glad to see that it finally happened.
Now, my thoughts on this, for the few of you that would actually care, is that you, as the author and the person that actually DID all of the work, are the one to specify how it gets used. You should also be the one to specify if and how your work is to be acknowledged if/when it is used.
For example, if someone wrote a really nice image processing routine, they might be upset if someone used it with security camera software that followed around certain targets based on the color of their skin. Or if you wrote a pretty-damn-good spam-detection routine that nabbed 99% of all spam, you might be upset if a spam-tool author used it in their product to help their users author messages that are more likely to get through.
Also, if you use certain code in commercial products (as I do), you might want to prevent competitors from using it in their product. At the very least, most would want to be credited for your hard(?) work (even the GPL does this).
Some people would consider reasons like that reason enough not to share their code. But I believe in sharing, and once the licensing issue gets resolved here, I plan to start doing so again. (But until then I stick with my "Free Source Code License", which specifies how the code is to be used and how I am to be acknowledged if the code is used.)
When I use someone else's code, I contact them to ask if [1] I can use their code, and [2] how they would like to be credited, and I then [3] follow through. (They also get free licenses for the products.) I use myself as a metric for what I expect of others, so I would expect others to do the same (though this sets me up for disappointment more often than not).
Peace!
-=- James
Tip for inexperienced drivers: "Professional Driver on Closed Course" does not mean "your Dumb Ass on a Public Road"! Articles -- Products: Delete FXP Files & Check Favorites
|
|
|
|
|
James R. Twine wrote:
[1] I can use their code, and [2] how they would like to be credited,
I would prefer if this were stated directly in the code. People are sometimes hard to contact, and by stating it in the code, you have an "answer" that is consistent for everyone.
Marc
MyXaml
Advanced Unit Testing
|
|
|
|
|
Marc Clifton wrote:
I would prefer if this were stated directly in the code.
As would I. But when I last mentioned something like that, I got replies of not "buying into the spirit of The Code Project", or some other similar crap.
What people seemed to miss was that authors were doing that already. Hell, even some contest winners here had their own license or license restrictions on their submissions (like GPL)! I found it quite odd that my suggesting having authors place their own restrictions on their own code was against the "spirit of The Code Project", yet it was OK for someone who did exactly that to win a contest here...!
Peace!
-=- James
Tip for inexperienced drivers: "Professional Driver on Closed Course" does not mean "your Dumb Ass on a Public Road"! Articles -- Products: Delete FXP Files & Check Favorites
|
|
|
|
|
WillemM wrote:
I have tried to use many open-source components.
I know of several high-end GUI components for .NET. they are expensive closed source products. Their documentation is terrible. It's incomplete, inaccurate, and unless you use the designers, it's impossible to figure out how to use their product programmatically. I have wasted countless hours trying to get even the most simplest things working.
So, commercial components suffer the same plight. And you have to pick and choose based on support, both open source and closed.
Marc
MyXaml
Advanced Unit Testing
|
|
|
|
|
Yep, some closed source components have these problems, a very good example is the Xceed grid. You can't possibly get it to work with just a text editor.
"Every rule in a world of bits and bytes can be bend or eventually be broken"
|
|
|
|
|
yes, the problem is not the software license model (commercial vs open source), but rather that the software is written by programmers... now, as a programmer, what is the one thing i hate most? documentation! most programmers dislike writing documentation. there are plenty of commercial products that lack documentation. even VS.NET and MSDN... as soon as you want to get to some of the more hectic stuff, the documentation is seriously lacking...
on the other hand, i've seen some open source products with really first class documentation. mind you, most of those products run on linux, so it's no wonder a number of CPers haven't seen it!
--
Raoul Snyman
Saturn Laboratories
e-mail: raoul.snyman@saturnlaboratories.co.za
web: http://www.saturnlaboratories.co.za/
linux user: #333298
|
|
|
|
|
The last time I checked (a few months back now so it may well have changed) Axiom used XML comments so you can use Visual Studio and a tool like NDoc to build class/method documentation - and most include examples where necessary. You can also get information from the Ogre site that is basically the same.
Everybody is entitled to my opinion
|
|
|
|
|
As the author of a few dozen articles, I always had the mindset that the article was copyrighted by me (so others can't reproduce the article text w/o permission) but the code was freely usable with no credit/payment necessary.
This is, in fact, in agreement with my experience; one time I even started a new job and found that they had used some list view custom draw code from an article of mine. I thought that was pretty cool.
Any code I publish is going to get used anyway, so if I intended to make money off the code, it wouldn't be in an article to begin with. But now I'm wondering, with people and companies getting more aware of licensing, would it be a Good Thing to update my articles and code to explicitly state what rights I'm giving to the readers?
--Mike--
LINKS~! Ericahist | 1ClickPicGrabber | CP SearchBar v2.0.2 | C++ Forum FAQ | You Are Dumb
|
|
|
|
|
Michael Dunn wrote:
Any code I publish is going to get used anyway, so if I intended to make money off the code, it wouldn't be in an article to beign with. But now I'm wondering, with people and companies getting more aware of licensing, would it be a Good Thing to update my articles and code to explicitly state what rights I'm giving to the readers?
I think it would be a good idea.
I assume any code that hasn't got a specific licence is BSD licenced, so I give credit in my documentation. However I guess others may just treat it as public domain code. It would be nice if more authors specified their licence in the articles or in their code. Then at least if my project gets audited, I can point to the code licence rather than having to reassure the legal guys that the code is free to use.
Michael
CP Blog [^]
|
|
|
|
|
IMHO, yes, you should. Anyone that has been around a while knows what happens when some people are left to their own devices... Java, for example!
Seriously, I would make it clear what restrictions, if any, are on the code. Better to state the obvious than to let others make the wrong assumptions.
Peace!
-=- James
Tip for inexperienced drivers: "Professional Driver on Closed Course" does not mean "your Dumb Ass on a Public Road"! Articles -- Products: Delete FXP Files & Check Favorites
|
|
|
|
|
However, the question is not whether he should add a license to future code, but whether he should return to old articles and add a license to old code. My answer is, not really, because it is just extra work. The only valid license you could append to that code would be the “public domain license” anyway, so why bother (it’s already assumed). Just do add a license for future articles, as the other 2 posters have said.
Just my 2 cents
EnderJSC
|
|
|
|
|
EnderJSC wrote:
The only valid license you could append to that code would be the “public domain license” anyway, so why bother (it’s already assumed).
Why would a Public Domain license be the only one applicable? And moreover, why would it be assumed?
IIRC, these days (and in the US), works are copyrighted as soon as they are put to a medium. I believe this includes source code, so a copyright exists on it (owned by the author). In order to use the code, you would have to copy (reproduce) it in some form; in other words, infringe on that copyright. Unless, or course, there is copy in (or accompanying) the material stating it is in the public domain or grants a license, and the terms of that license, for use.
Of course, IANAL, and I could be wrong. If so, please feel free to site (read: provide an actual example of) the law, statute, or precident that would indicate so.
Peace!
-=- James
Tip for inexperienced drivers: "Professional Driver on Closed Course" does not mean "your Dumb Ass on a Public Road"! Articles -- Products: Delete FXP Files & Check Favorites
|
|
|
|
|
In this case, I am referring to library code.
Years ago, my previous employer paid a fortune per developer seat for the RogueWave tools.h++ (and other) C++ libraries. I estimate their libraries were about 5 times the average price at the time. Our justification was that it was decent code and we would only have to pay maintenance after the initial outlay.
After we had standardized on tools.h++ and used it throughout everything, RogueWave decided to change the license to require very high royaltees based upon the gross sales dollars of our application (of course, they still charged a fortune per developer seat). We pretty much had to upgrade due to compatibility issues with MSVC++.
It was a complete disaster. The senior development groups were discredited due to our error. Other groups went totally "Not Invented Here" - designing everything themselves even if they could have purchased libraries for a fraction of the cost of development.
I suppose the only strategy that would protect you would be that initial licensees should be immune to any future license changes.
Dale Thompson
|
|
|
|
|
Hey! I know about that specific problem!
IMHO, The library itself, tools.h++ (now known as source pro c++ core) is pure joy and,
sadly, the (new) licencing model is pure evil.
If I were you, I would start using some "cheapo" (free) libraries out of dot net.
Can't beat the price!
Also, about designing everything by oneself is also evil. Come on! I can still remember 10 years ago, when I started to program in C++, I would spend afternoons workin on some "collection" classes.
As an expert in data structure (now and 10 years ago too), I can vouch that my "collections" were working, in the limited scope of my in home stuff.
Now, with more experience, I say that general purpose collection libraries, such as tools.h++ (aka source pro c++), is a whole project on its own.
When I work on a specific application project and look for a robust collection library, or when I need simple, isomorphic or polymorphic streaming, I don't want to pause for 5-6 days and cook one on my own! I need something ready made, pre-tested and calibrated for efficiency. The last thing I want is to spend a whole lot of time only to discover 3-6 months later, that my quick hack that was good enough at the time, is either buggy or not efficient enough.
|
|
|
|
|
Bamaco2 wrote:
The last thing I want is to spend a whole lot of time only to discover 3-6 months later, that my quick hack that was good enough at the time, is either buggy or not efficient enough.
I can't agree more! I wish more people felt the same way.
Dale Thompson
|
|
|
|
|
I try to think like this when I need something:
- When something I can afford is available and perceive the quality to be good enough, I get it.
- When I cant find it, I write it, as simple as possible, w/o undue attention to "optimizations".
|
|
|
|
|
The license I put on my code depends on what I am trying to achieve by releasing the code.
I will choose different licensing depending on whether I am I trying to:
- make money
- help others improve their coding skills
- provide a useful tool
- improve my status in a community, etc.
|
|
|
|
|
Ditto.
I notice that this post has several votes, and up to this point, every vote has been a 5 (including mine) which would indicate that a lot of others have the same POV and just didn't feel like commenting.
Although I would say that if we're talking exclusively about any articles I might one day publish on CodeProject, I would say public domain. If I weren't willing to make it public domain, I'd never publish it here.
Maybe this poll should have used checkboxes instead of radio buttons.
Grim (aka Toby) MCDBA, MCSD, MCP+SB
SELECT * FROM user WHERE clue IS NOT NULL
GO
(0 row(s) affected)
|
|
|
|
|
On both ends of the spectrum, absolutely free code (even if copyright is retained) or commercial code are both best.
Any "gray area" license that makes you think about usage and the implications of usage is not good.
When using code, I shouldn't have to feel that I am being forced into a licensing scheme for MY code that uses someone elses code.
|
|
|
|
|
I don't think GPL evil... But rather it think it's necessary to have both code thats purely for opensource work only to keep it opensource in all it's forms...and free code that can be used in any form of project <- which is why i like codeproject, when the code authors don't append the gpl brand :P.
|
|
|
|
|
what does "But rather it think it's necessary to have both code thats purely for opensource work only to keep it opensource in all it's forms" mean?
Retrictive licenses are stifling.
In fact, you appreciate "...codeproject, when the code authors don't append the gpl brand."
|
|
|
|
|
FocusedWolf wrote:
opensource
By definition the code is not "open" if there are requirements attached to it's use. The vast majority of open source code is useless to the vast majority of developers becuase the vast majority of developers work for companies who sell closed source software...
Regards,
Brian Dela
Now Bloging![^]
|
|
|
|
|
ever heard of the LGPL and the BSD and the MPL licenses?
--
Raoul Snyman
Saturn Laboratories
e-mail: raoul.snyman@saturnlaboratories.co.za
web: http://www.saturnlaboratories.co.za/
linux user: #333298
|
|
|
|
|
Yes, of course. But I was responding to the post about GPL and I was talking about GPL and copyleft licences specifically. Not MPL, BSD, LGPL, MIT, etc, etc, etc.
Regards,
Brian Dela
Now Bloging![^]
|
|
|
|
|
No, what is a license? (only kidding)
Gupta Team Developer 3.1
VC++ 2003
Oracle 8i
W2K-XP
|
|
|
|
|