Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> First of all, open source for me is not a way to contribute to the free software movement, but to contribute to humanity. This means a lot of things, for instance I don't care about what people do with my code, nor if they'll release back their modifications. I simply want people to use my code in one way or the other.

As other people (buster) have mentioned, they feel that releasing GPL code is contributing to humanity too. Here's the difference as I see it:

You want to maximize the number of people who use your code, because that makes you feel good about yourself and your contribution.

Someone who releases GPL wants to try to maximize the good outcomes that result from their releasing that piece of code.

For example: the FreeBSD hackers get to know that their code was incorporated into OS X and used by many millions of people. That's pretty cool for them. But the contribution to humanity of their code is limited by that -- the OS X kernel's closed source, so no-one can benefit from learning how that works, and in the meantime the FreeBSD project itself is dwindling. Meanwhile, e.g. Android is based on Linux, and is available to everyone to study. Linux is growing hugely, and is an amazing example of humanity working together to achieve a public good. I can't really say the same about FreeBSD.

So, I think the question is -- is your aim somewhat selfish, in wanting to maximize the consequences that can be directly traced to you, or is it driven by wanting to maximize the consequences to the rest of your society of your actions?

If the latter, I think there's an entirely reasonable argument that says that the GPL is a better way to do it. There's no question that, as you argue, the GPL has less immediate freedom for each individual user than the BSD licenses. But why should we measure freedom for each individual, if what we care about is the final level of freedom for everyone in society?

To put it another way, I think the BSD license can result in "tragedy of the commons" scenarios where maximizing individual freedom has worse total consequences than would have resulted by applying regulation to maximize societal freedom instead.



> the OS X kernel's closed source

It's not, actually. http://www.opensource.apple.com/source/xnu/

> To put it another way, I think the BSD license can result in "tragedy of the commons" scenarios where maximizing individual freedom has worse total consequences than would have resulted by applying regulation to maximize societal freedom instead.

An ecosystem argument can be made as a rebuttal; GPL disincentivizes corporations and other large open source contributors from adopting a project, thus not allowing the code to perpetuate (through dependence) and be adopted by other businesses who have an interest in improving the software, and so on.

That is, the individual freedom ultimately results in more participation, not less, at the expense of more selfishness. BSD/MIT licenses dominate now, don't they? Does society ultimately benefit more from an open license than one with legal burdens attached, as noble as they are?


> It's not, actually. http://www.opensource.apple.com/source/xnu/

Thanks for the correction, I thought it'd been closed. (I suppose I could modify my argument to start talking about iOS, which is based on FreeBSD but closed, in comparison to Android.)

> Does society ultimately benefit more from an open license than one with legal burdens attached, as noble as they are?

Yeah, it's a purely practical question -- and is why I brought up contributions back to FreeBSD vs. Linux, since I think that's one example where the GPL comes out on top regarding participation to the codebase.


> I suppose I could modify my argument to start talking about iOS, which is based on FreeBSD but closed, in comparison to Android.

Sorry, iOS and OS X are the same operating system, so you really could not :-). iOS and OS X have slightly different but very similar closed source Cocoa layers.


I don't want to split hairs about what "the same operating system" means so I'll just point out that the xnu source code doesn't include any iOS code AFAIK.


"Sorry", but a lot of the code that is specific to iOS is in the kernel, and almost none of it is open source; claiming that the iOS kernel is open source is simply preposterous. The situation is even worse if you start looking at drivers, none of which are open source on that platform; but even the core kernel is missing major pieces on ARM.


Yup. Both use Foundation, but Cocoa (OS X) uses Application Kit and Cocoa Touch (iOS) uses UIKit. Foundation itself is based largely on OpenStep, of which there are several opensource variants you can check out.


> Yeah, it's a purely practical question -- and is why I brought up contributions back to FreeBSD vs. Linux

Well, in the war of anecdotes...


"You want to maximize the number of people who use your code, because that makes you feel good about yourself and your contribution.

Someone who releases GPL wants to try to maximize the good outcomes that result from their releasing that piece of code."

There is a bit of strawmanning going on here. It's not Roark versus Toohey. Copyleft was conceived out of Stallman's personal desire to access source code for his own ends. Likewise one can reasonably believe as a practical that the benefits of widespread use of a piece of code outweigh those from its source code availability. The two positions approach utilitarianism from different philosophical positions. One places more emphasis on actions the other on rules.

Perhaps most of us might agree that the ideal would be widespread adoption, open source, and equitable compensation of the author. Fewer would agree that this ideal is the norm in our shared world. Copyleft carries a lot of overhead. Could effort spent on license compliance be better spent elsewhere?

Copyleft solves a set of problems. That set of problems were pressing in the computing community of thirty years ago - at least once one got away from Vic-20's and Apple II's. Copyleft made an important contribution in the form of GNU/Linux. But the question remains, is its incompatibility with the world of smartphones creating a drag on innovation?


You make it sound like FreeBSD's code got all closed off and hidden away when it got wrapped into OS X. FreeBSD's stuff is still available openly and can be studied. No, you cannot see how Apple interfaces with it, but that's the nature of proprietary.

Code licensed under BSD has the chance to affect more of the "world" because it'll end up in more systems because there's no requirement to keep those derivative systems open. Those interested in keeping their own work proprietary (but using the BSD-licensed code) can do so. If the code were GPL, it just sits there while Proprietary Corp. re-implements that library (perhaps in a poorer, less-secure manner). The GPL code did not contribute to humanity as much as the BSD code did.


> You make it sound like FreeBSD's code got all closed off and hidden away when it got wrapped into OS X. FreeBSD's stuff is still available openly and can be studied.

I think I was pretty precise in this criticism. Yes, FreeBSD's code is still there, but it hasn't been contributed back to by Apple, and (partly) as a result of that it's been growing less relevant over time; to the point where I would no longer describe FreeBSD as having a healthy community. In contrast, Linux is flourishing.


> Yes, FreeBSD's code is still there, but it hasn't been contributed back to by Apple

Huh?

"FreeBSD developer here. Apple contributes back lots. We're very happy that the BSD license has allowed Apple to use our code." http://news.ycombinator.com/item?id=2084333

"at the last FreeBSD devsummit I attended, the people Apple sent were begging us to take more and the holdup was FreeBSD developers (myself included) not being sure that we really liked the solutions OS X had developed." http://news.ycombinator.com/item?id=3560947

"This keeps being brought up, the whole apple not contributing back to FreeBSD, but I would urge you to please look through FreeBSD's CVS history to find all of the places that Apple HAS indeed contributed back (I've made several comments with links to such sources on HN before)." http://news.ycombinator.com/item?id=2083877


and (partly) as a result of that it's been growing less relevant over time; to the point where I would no longer describe FreeBSD as having a healthy community.

I'll freely admit that I'm no expert on the BSD world, since I'm a Linux user myself. But I'd question whether or not there's any real research that demonstrates that the BSD community is less "healthy" (depending on how you define that) than the Linux community, because of the license. Heck, I'm not even 100% sure I believe that the BSD community is less healthy, but even if that were shown conclusively, how do we know it's the license and not some other factor(s)? I mean, the BSD community has had different challenges and issues, and a different culture, going back at least to the days of the AT&T (USL) lawsuit[1].

[1]: http://en.wikipedia.org/wiki/USL_v._BSDi


I think the BSD license can result in "tragedy of the commons" scenarios where maximizing individual freedom has worse total consequences than would have resulted by applying regulation to maximize societal freedom instead.

There is no tragedy of the commons in software b/c there is no scarcity. Why shouldn't everyone get as much as they can?

re: "FreeBSD is dwindling" and "Linux is growing hugely", it's an improper comparison. There are many distributions of Linux and only one FreeBSD. And regardless, FreeBSD exceeded their fundraising goal for this year:

http://freebsdfoundation.blogspot.ca/2013/01/thank-you-for-h...


“There is no tragedy of the commons in software b/c there is no scarcity„

Code is information, and information has zero marginal copy costs. Nevertheless, there is scarcity. Code needs maintenance, and maintenance costs man hours. So, by consuming man hours into dead end projects that will ultimately fail to be self sufficient, BSD licenses may trigger a tragedy of the Commons.

I don't think that is the case. Not all projects require corporate backing. I'm just pointing out the fallacy in your argument.


Ah, I was talking purely about the Linux and FreeBSD kernels, not distributions. I agree that FreeBSD exceeded its fundraising goal, but this isn't how I would want to measure its level of contribution.


our company recently expunged all LGPL code from our product. The cost of that license outstripped the usefulness. We wrote or got around the need for any of it; it wasn't too hard. Generally we were after a fraction of the IP, and there were alternatives.

LGPL is fine for non-commercial folks. For business I need a license to do as I please with the code, with no futzing around.

<edit: LGPL>


LGPL lets you do as you please with the code. If you need to modify the code, which in my experience isn't all that often, you simply provide the patch back to the committers. They're not required to take it, but that doesn't affect you. You simply had to provide it.

And since you took from the community, doesn't it make sense to contribute back when you have something to contribute?


LGPL requires us to ship the libraries in particular ways. Our product runs on mac, windows, android, pad and phone. It was impossible to conform.

An now, we don't take from the community, so no we don't feel the need to give back in that way.

And in my experience, much of open source does have to be modified. Usually to extract the IP needed without the cruft sticking to it - all the assumptions made by the authors about how it was going to be used.


IANAL, but I believe you're incorrect about shipping the libraries in particular ways. My understanding of the LGPL is you don't have to ship the libraries with your application, you just need to provide the relevant copyright notices - usually in your Help/About.

I worked with the legal department at my company to get a list of approved open source licenses for components included in our applications. The GPL was immediately ruled out. Because of the GPL they spent several weeks scrutinizing the LGPL. They approved it.

Obviously your mileage has varied with your lawyers. And if we want to keep our jobs we can't cross the lawyers, even if we believe them to be wrong. It'd be nice if our community had a common understanding of the LGPL. There seems to be a lot of confusion.


Nope. The LGPL basically requires you to make sure that the end user can replace the LGPLed code with a modified but ABI-compatible version (for instance, because there's some bug in the code). Think back to the libpng security vulnerability a few years ago, for example - because that was under a more permissive license than the LGPL, users of proprietary software that included the insecure version couldn't update to a fixed version by themselves and were reliant on the companies that supplied them the software.


That may be correct, but its an engineering description of a legal document. We're great at deconstructing things - lawyers are great about enforcing the letter. SO I'm not sure anything that boils down to "The LGPL basically requires..." can be trusted - certainly that argument has no weight with our lawyers.

Consider for a moment anything shipped on an iPad or iPhone. How does the user replace pieces of your application, exactly? Its not possible, by design (thank you Apple).


Speaking as an open source lawyer, the question of whether it's legal to use LGPL 2.0/2.1 software in an app store app is a very open one, exactly for the reason given above. You will find people taking opinions on both sides.

It certainly happens that people use LGPL 2.1 code in IOS apps, but that doesn't mean it's okay.

The answer is more clear for other licenses, including LGPL v3.

I wouldn't trust what you see app stores doing as "okay". Among other things, I do due diligence on mergers/acquisitions, and without a doubt, app store apps are one of the places I see the most license problems.


You have to provide a way for your users to relink to a different version of the library. This is hard for iOS easy if your target is Linux.


Our target is everywhere. So no, not possible on many platforms.

And the terms become more restrictive with every iteration. That general theme may be present but in the end you have to conform exactly to how the license is written. The verbiage about linkages etc becomes meaningless on some platform (those without a loader for instance). Where does that leave you, legally? I learn to never ask a lawyer techical engineering questions - like the old line about teaching a pig to sing.


Your last point is actually pretty wrong. I've helped write linkers and loaders, and can sit around and have a combined technical and legal discussion about the impacts of linking in various ways all day if you like.

If you've learned never to ask a lawyer technical engineering questions, you need better lawyers.

Realistically, if your lawyers don't actually understand how your code operates or what it does, at a deep technical level, the advice they give is not going to be all that great or even right.


Sounds like we need you, in fact!


Its not about contributing back, but the way the dependencies have to be deployed. For example, static linking is a violation.


Strictly speaking, the requirement is that they be able to upgrade/modify the library. Static linking coupled with shipping only an executable is a violation. I believe that shipping source (or even un-linked object files?), such that users can rebuild the application with a statically linked updated version is allowed - no requirement that they be permitted to modify or redistribute the application proper.


LGPL is fine for 'commercial folks' aswell, as long as they are willing to make changes they've made to the 'LGPL licenced code' available in source form.

If you are not willing to do this then no, LGPL is not right for you.

As an example, Apple uses the LGPL licenced Webkit in their proprietary Safari browser.


WebKit is BSD licensed; WebCore, which WebKit uses, is under LGPL. Apple seems to actively put as much code as they can in WebKit as they can, so they can avoid open-sourcing their fork, and they have carefully isolated WebCore sufficiently that many of the more interesting changes they make to it (such as those that give them advantages on mobile) can be done by adding binary .o files (as allowed by LGPL) as opposed to new source.


Read "willing to .. .make available" as "spend engineer hours/money".


Wouldn't the checkin to your source code repository already have those patch(es)?


Sure. But what about rewrites? What about code fractions extracted and used in other modules? What about makefiles to integrate the code, or package builder scripts? ALl that is part of our stuff, but taken from their project.

So we expunged all of it, wrote our own or got rid of the feature (found alternate encodings of files we were decoding; used different rendering agents etc).


What issues did you have with the LGPL that made it necessary to expunge all LGPL code?


Spending engineer hours (money) on packaging the libraries in the proscribed ways. As posted elsewhere in this thread, shipping separate libraries isn't always possible.

The effort was triggered by an investor requirement - that we not endanger our commercial viability with LGPL code of any kind. I.E. The lawyers told us to.


Brilliant last paragraph. Thank you.

And sadly as I type this on a FreeBSD laptop, I am giving up the BSD kernel/userland as no longer providing enough benefits to outweigh the costs. I am moving to Linux and probably Mint.

And I am seriously considering that the license that enabled Mac OSX is part of the cause - the BSD project would be flooded with people if Apple had released OSX back onto the cvs tree - everyone would have wanted to play with it. But it just dies. And I cannot afford the time to fix my laptop everytime some update conflicts. I fell I am quitting, and stupid but I also feel the license has let the life bleed out of a great eco-system.


A quite excellent comment. I would only add a bit more dry comment on the essence of copyright licenses.

A copyright license is about defining what one will accept that people may do with your code. As a lawyer once said in a speech, its about defining what consequences one can live with.

Do you accept that people might try to use a bait and switch method with your code? Ie, they go out and promote it, gives copies to everyone but when the usages is at the top, they goes out and say "BUSTED! Now pay for patents or stop using it!". If not, use Apache license.

If there is nothing anyone could do with your code that you would later object to, BSD is commonly the answer. However, if the NSA tomorrow made a virus with your code, you would have no legal barring to try to stop them. If a drone programmer used your code to be more effective judge, jury and executioners, you have no right to object. In contrast, if you used a copyleft license, the demand for source code would likely be enough to kill such usage given the secret nature of the military.


You make an excellent argument for dropping the GPL and adopting the Affero General Public License. After all, the GPL doesn't force commercial web apps to release their modified source.

Note: I typically use the Apache 2.0 license for my personal projects, but I don't have strong opinions on the matter.


Sure, I like AGPL. I tend to use BSD with languages/libraries where everyone else is using BSD, but would prefer to use AGPL.


> the OS X kernel's closed source

Isn't darwin open source?


I am not sure that copyleft (GPL and co) maximizes societal freedom.

We would have to weigh the "patches acquired by court" versus the "would have contributed but rejects viral code" cases. Since the latter cannot be reasonably measure, we are stuck in discussion based on beliefs.

Personally, I believe the GPL virality hurts more than it heals.




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: