- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
Depends on the version; I think GPL v3 changed it so if you use it at all, it automatically makes your code open-source, meaning you cannot use it in even an internal application without a license. There's also another version of the GPL, the APL I think, which does the same thing.
Most versions though will let you use the code without releasing YOUR source so long as it's not distributed, so web applications don't have to release their code since users are just accessing them, they aren't actually being given the code.
Admin
Depends on what your lawyers think. I work for a medium sized SaaS company and our laywers interpret the usage of our products as distribution. It's not the classical definition of the term, but then again, SaaS is about the difference of delivery. We have to be careful about the libraries we use to make sure we don't have to make modifications.
It seems very clear cut, unless you're a laywer.
Admin
This is pretty common sense. Always create boundaries between you and third-party libraries.
Admin
If the library is widely used, then I would also suggest that the peron revisits their "wants" and see if perhaps the problem is not with them, rather than with the library.
Admin
This is the "Money class", so I would write the following to the "Architect":
Have it your way. By the way, we use the "Money Class" for your paychecks and deductions. Errors may take a long time to resolve themselves if they get resolved. The errors induced may not be in the favor of the recipients of paychecks. Sorry if this may inconvenience you.
Admin
Left out "by design"
Admin
Admin
Any programmer worth his salt knows that all real programming starts at 0
Admin
FTFY
Admin
Not sure you understand the GPL If he edit the open source bit he must leave that bit open source. He is under no necessity to release any code that uses the Open source bit, only any modification he make to it.
Admin
Admin
Fun times.
Admin
Admin
If he were alive he'd be spinning in his grave?....eh?... um..... nevermind.
Admin
A little? More like a lot.
Admin
From GPL V3.0:
NOTE also it talks about modifications and versions of GPL Licensed component. If I use some library that is GPL, I DO NOT (even if I release the application) need to release my code that calls the library under the GPL, however if I change the GPL Library that I use in any way then it needs to be released under the GPL.Made up example 1: I need a LinkedList for a project ("pls send da codez" simply hasn't worked on any of the forums I've tried). I use a LinkedList licensed under GPL I am under no obligation to release as GPL my Project Code that calls this LinkedList
Made up example 2: I need a LinkedList to store character Arrays for a project ("pls send da codez" simply hasn't worked on any of the forums I've tried). I use a LinkedList that I've found for integers licensed under GPL I modify this LinkedList to store character Arrays rather than integers If I plan to release my Project, I must (under the GPL) release the new version of the LinkedList that is based on the GPL one as Open Source.
This of course gets fiddly - what if I needed this List to store a home-made data type? Do I need to then release the data type as well (probably - even though it is no use to anyone)?
The GPL does not require an entire application's code to be released just because some small component uses a GPL component
Admin
why re-invent the wheel, right?
Admin
Admin
Just sayin...
Admin
It's funny how many people fail to read the license - or read about it, at least.
What you say is right, but incomplete. What others have stated here (except for the part you quoted) is misleading or wrong.
In layman terms:
GPL V2: If you hand out something that uses code under GPL V2 or links to GPL V2 (the latter is ~hard~ in legal terms for late binding, plugins etc..) you have to offer a way to get the sources.
You CAN sell your software. You CAN even ask for a reasonable amount of money to deliver the source (note: this is meant for shipment, media etc.. If you only offer your source on DVD and interested parties to pay for your costs to mail those you're good). The source doesn't need to be delivered with the product, but you need to provide the GPL license and point to a way to get the source.
GPL V3: This has a couple of major changes. One was recently discussed online regarding Android: GPL V2 says that you lose the right to use the software if you're not in compliance, period. No words on how to get back on the good side again: If you say 'Whoops, here's the source' the license doesn't specifically say that your rights are returned. Untested in court, but this could mean that you'd need to ask ever contributor of a project (Hey, Linux!) to grant you the license (back) again if you messed up.
GPL V3 fixes that and says that you're automatically back in the game if you're complying. But it also tries to fix the software as service loophole. With GPL V2 the general interpretation is that you don't need to open your application if your software is not distributed, just 'hosted' on your system for your clients (I'm aware of the post of someone here that says their lawyers disagree. I don't want to sound more clever than those, but they are certainly not following the mainstream interpretation here). GPL V3 now targets this specifically and says that this is considered creating a distributed, derived work. Source has to be available, under the GPL V3 license.
Ah yeah. The topic, the architect.. Poor guy. He probably read about how cargo-cult programming is bad and totally didn't get it. I feel sorry for him..
Admin
(cue the 'the real wtf is this frikkin board software' jokes)
The last reply was targeted at qawo, post 362482 in reply to 362464
Admin
It's a really, really bad idea to rely om that FAQ page, several of the points it claims are at best dubious compared to the actual wording of the license. Others are just flat out wrong.
If you include GPL (not LGPL) code in a program, the entire program must be GPL. And if a lawyer argues the distributing it internally constitutes distribution (and believe me they can and will) then claiming it was internal use only won't help one iota.
Just sayin...
Admin
And then there's the ongoing maintenance. My company offers basically one software product (and a few ancillary products that expand our flagship product), and each successive version is forked off the previous. It's entirely possible (and in fact quite likely) that code we write today will still be in use decades from now.
Will those libraries still exist then? Will those authors implement the features we need? Will the licensing still be acceptable? It's uncertain.
So we do most of the work ourselves; it's very hard to get approval from Legal to use any third party software.
The biggest exception is one company that offers a product that would be time-prohibitive to write ourselves (especially years ago, when we first needed this software), and we actually have a contract with that company that if they stop maintaining their product for any reason, the intellectual property rights become ours and we will take over development and support going forward.
Admin
FTFY. Notice that if you close all those parentheses, it looks just like lisp! Just put abbreviated names, put them inside the parentheses and remove commas. Voilà:
And yes, I do prefer to write code like this.
Admin
Indeed. Copy-pasta into Google Translate with automatic input language guess says "நாகேஷ்" is Tamil for "Nagesh".
Admin
Instead of paying a (several?) developer's salary, you can probably approach the library author(s) and ask them if it's OK to purchase a specially licensed version. I'm sure if you made a substantial donation to author or the project, they might consider it, and you'd be free of legal concerns. This, of course, also probably means that you don't get updates from further development, but hey, you can't have everything.
Admin
Admin
I know there are worse examples out there, but this one just irks me really badly...
Every single paragraph was filled with sarcasm. Awesome shit.
Admin
And this is why the reference equality operator and the value equality operator of a programming language should be different. As for prohibiting operator overloading, well I agree in principle, but I must say it makes it mighty annoying to do vector calculations. As a compromise, how about allowing overloading +, -, &c. but tying them to the class (no overloading + for int and other built-ins) and disallowing overloading for equality and such?
Admin
I like your vision of Open Source ... in my world, most OS libraries are of relatively low quality, some have been left to rot, and others are just duplicates of a copy of an imitation - of low quality.
Wake up my dear, OS isn't such a blessing, there are only a few things you can really rely on, many need to be modified and some should just be removed for sanity.
Admin
There is an AbstractMathematicalConstantProviderFactory missing from your "design".
Admin
The only difference between open and closed source is that the open source screwups are visible to everyone, while the closed source rubbish just causes mysterious failures.
However, this difference clearly means that the widely-used Open Source libraries are likely to be of a higher quality than widely-used Closed Source libraries - because everybody can see the dirty laundry of the open source one.
Any kind of rarely-used library is likely to be poor to terrible, because anything that's used a lot either gets improved or replaced by something better.
How do you think this website got started, anyway?
Admin
/agree
However, there are some closed source libraries that really have no equal (thinking about some c++ math stuff etc.) in Open Source -
Admin
This is much better already. Pity that cannot write
b.multiply(b).subtract(4.multiply(a.multiply(b)))
but that is just Java's stupidity.
Admin
So if you find a proprietary library that rocks your world and floats your boat and so forth, then use it.
If you find an open source library that does what you need it to, bring the license to your legal department and ask them if it's possible to comply with this license. If they freak out, shake your fist at the sky, curse the day you were ever born to such a world, where people make neat stuff for the fun of it and give it away for free with only the requirement that you also share the neat changes you make to it, and go find or produce a proprietary library that you can work with.
Admin
except that their incomplete 98% does 96% the same as all the other incompatible and abandoned OS libraries that also only implement 98% of what you need... because instead of producing one library that was worth selling, the project splintered into factions over which OS licence to use or some coding style or design issue largely irrelevant to the finished API, and produced a plethora of incompatible and unfinished versions.
Admin
Comments are so boring.
PLEASE BRING BACK THE MANDATORY FUN DAY!!!
Admin
Admin
Admin
For perpus of record, Bhoot Jholokia not availabel in Hyderabad.
Admin
Admin
Or, if you use something like Ruby:
(0.- b).+(Math.sqrt((b.* b).- 4.* a.* c))./(2.* a)
Looks ugly...but I have a feeling that if this was what everything was defined as from the start - we would not have that big a trouble using functions only instead of these horrible operators.
Ugly, ugly operators.
Admin
I ment unavailabel, mean if you go to shop for "bhoot jholokia", shop-kipper laff a lot at you.
Noting is banned in Hyderabad as far as edible stuf goes.
Admin
Admin
I have to agree with you.. most people complained, but a comic is sometimes better filling than a story on some days.
Admin
Admin
Could it be What I did see? An long comment thread With no big giant head Where could he be, The man with a J.D. No nuts to grope Had octothorpe. Oh, so missed was he this day Not! To see it twice I would pay. Perhaps a tale to close to home Through his employee list he doth roam To find the culprit who said this About or beloved …
Admin
Tennyson should have fired another salvo asking Teh Architect - "teh" intentionally spelled like that for this given case - for clarification of where that tribal knowledge failed to meet the bar in their specific case, in particular if the class was brand new and Tennyson was the only person using it.
Unless the money is ridiculously good, or we have a family crisis that limits our walking-away options (God forbid), even in a shitty economy, there is (or should be) a limit on how much stupidity tea one should take as a professional, specially when the tea is being served by a sanctimonious asshole.
Admin
Admin
Whoa! You mean you make a single bit open source and, what, leave the other seven bits in the byte (octet) "closed?" Man, that is a truly fine-grained license. You, sir, have just blown my mind.
Oh, also -- "Me Tarzan."