Unless something fundamental has changed in law while I slept tonight your are not 'guilty until proven innocent', you are 'innocent until proven guilty'.
That they (software authors) take no responsibility for downstream problems with infringement doesn't insulate themselves in any way from distributing patent infringing source code which you can indeed be sued for.
The added protection GPLv3 provides is that no contributor can add their patented code and then sue you or other contributors/recipients.
I'd say that from a 'patent-threat' standpoint you are better off with GPLv3 or Apache than any of the licences.
Which design decisions of an algorithm are ideas and which implementation? For me all are ideas and so they are according to your definition. But if I replicated each and every one of them, I would be sued. Let's pretend for a while that a suit would be dubious (really, I don't know if it would be). What about an idea to use a particular vocabulary to explain some algorithm? What if I added it to the mix? The problem is that if I replicated all ideas contained in a particular piece of code (or another replicable form of creativity), I would end up with the same result. If you replicate some of them, you'll end up with a similar result, possibly similar enough to be considered a derivative implementation.
Last edited by m^2; 30th September 2013 at 23:33.
[QUOTE=m^2;34828]No, I really don't see the cut. I can find cases that are clearly ideas. I can't find one that would be clearly an implementation.
Now for a clear-cut case of copyright infringement you would have to copy the source code verbatim, as in identical. Open source licence copyright does not deal with the abstract or detailed description of an algorithm, it deals with a specific implementation, as in a specific arrangement of code to implement that algorithm.
Again make note of the term 'specific'. As such unless it's a clear-cut copy (1:1 or close to that), it can be hard to claim copyright infringement on code. Also the code in question can't be trivial or obvious, you can't copyright a for-loop using the variable i and n. It has to be a substantial piece of work where it's quite impossible that an independant implementation could have ended up identical or near-so.
I don't think I can explain it better, you seem to continually confuse copyright with 'knowledge' or an algorithm. Again copyright in software licence terms relate to the right of copying the specific source code in question, it does not prevent you from doing you own implementation of the same functionality/algorithm as in the copyrighted source code.
EDIT: I went too far. There's one case where things can be distinguished - mechanical copying. But being exactly the same does not make some code a copy of implementation.
Last edited by m^2; 30th September 2013 at 23:53.
I as a developer is typically not allowed by my company to examine software patents which could potentially cover code I'm working on (actually they don't want me looking at software patents at all), since if I were to write code which infringes upon someone else's patent and we're taken to court, I may be forced to testify under oath that I did indeed know about this patent, or there may be company correspondance which shows me knowing about this patent, 'hey boss, I think this code might infringe upon...' etc, at which point the damages for infringing on a patent will be much higher than if the company infringed upon it unknowingly.
This holds true for open source developers aswell, and since you in all seriousness can't possible examine enough software patents to ensure any kind of reasonable safety given that they're intentionally broad and vague and that there's a gazillion of them, I'd say you are no worse off by not spending your time chasing potential patent infringements in your code because the chance that you could 'cover your arse' is microscopic.
And if you do examine patents and your accuser can somehow prove that you did know about a specific patent you've infringed (although this would be extremely hard) then you'd be worse off as damages would increase.
That you are suable for patent infringement even if you didn't know of the patent in question has nothing to do with this condition set by GPLv3, which again are that you KNOWINGLY implemented patent-infringing code.
This section is obviously added to try and prevent someone from maliciously implementing patent-infringing code for which the project can then be sued, how effective it is can be discussed as again it would be VERY hard to prove.
Are you a programmer? Else this discussion is truly pointless as you seem incapable to grasp the concept of implementation, I'll give it one final shot:
Let's say you and I are tasked at re-implementing... Space Invaders in C source code. We will both have a video of Space Invaders playing to work from, this would be the 'idea', now we are to separately implement this idea in source code form.
We will likely (if we are similarly proficient) solve the problems in very much the same way, however even for something as simple as this, if we work without any shared source code reference, we will still create source code which is sufficiently different from eachothers to not impose on eachothers copyright. In other words it's hard to accidentally do so, in a large body of code it's practically impossible. And again this is only what copyright relates to, a VERY specific implementation.
A 'accurate' implementation if one such exists can still either be implemented in so many variations that it won't infringe on someone else's copyright, or it's simply too trivial or obvious to benefit from copyright protection in the first place.
PLEASE say you understand, PLEEEAAASEEEE
Just for everyone's interest I also found this link http://lucumr.pocoo.org/2009/2/12/ar...nt-to-use-gpl/ .
It is concise, well written but rather on the pro-BSD side.
As a personal note I find it clearly annoying that you can't integrate a GPL library in a BSD project ... After all the whole point of a library is to be made universally available, isn't it ? On the other side GPL seems to be more "real-world-proof" as it covers explicitly all the usages allowed.
I also wondered how many potential projects would not be able to use a GPL library. I checked this website : http://www.blackducksoftware.com/res...ource-licenses for some stats, and it shows that approximately 50% of all open source projects are not GPL, therefore can't use GPL libraries. That's not negligible !
Well you can but then the library when distributed will be GPL licenced, that doesn't mean however that the BSD licenced parts become GPL licenced.
You can still use the BSD licenced parts in other permissive projects without the GPL licenced part(s).
Now GPL generally isn't used for libraries, they are mostly permissively licenced or LGPL (a limited form of copyleft). GPL is typically the choice for stand-alone/self-contained projects, like applications.
I found the Mac OSX example quite striking according to the previous cited link :
As of today is there a workaround for that ?BSD is GPL compatible, but GPL does not permit the use of GPL licensed code in non-GPL code. This is especially annoying if important libraries users expect are GPL. For example the very popular readline library is GPL licensed. Users of OS X will know that, because interactive shells of Python and other non GPL applications sucks there. People tried to rewrite readline to get rid of the GPL problem but the alternatives are not as well maintained as the original one.
The original authors in this example set specific conditions for using their code, GPL. In order to use the code you need to comply with those conditions (which is true for all licences), the conditions include that any code in which GPL licenced code is included and distributed will also fall under GPL licence conditions. The reason for this is that GPL exists to grant and preserve certain end user rights, which include the right to the source code, to copy, modify, distribute etc.
I agree that licensing libraries under GPL is a bad idea. That is why I made zpaq GPLv3 and libzpaq public domain.
Also, section 11 on patents is interesting. http://www.gnu.org/copyleft/gpl.html
If I had patented any part of zpaq (it is not covered by any patents as far as I know), then in order to use GPL I have to grant everyone that uses the code a royalty free license to do so, and that right would extend to anyone you distribute the code to. Likewise, if I had licensed another patent that the code used, then I would have to do so under the same conditions or else I could not use GPL. For example, if I had implemented a patented algorithm like CTW or the sort transform (I didn't), then I would have to get a license from the patent holders that allowed all users to use it freely without royalties or other restrictions. The same rules would apply to you if you modified zpaq to use a patented algorithm and wanted to distribute it.
This does not protect against others making patent claims that I don't know about. But I don't know of any software license that could do that.