Posted
by
Unknown Lameron Wednesday August 20, 2014 @11:29AM
from the who-doesn't-like-freedom-zero dept.

Digia has announced that existing Qt modules will now be covered under the LGPLv3 in addition to the LGPLv2.1, GPLv3, and the enterprise (proprietary) license. New modules will be dropping LGPLv2.1 and GPLv3+ and be released under the LGPLv3 and GPLv2+ instead. This should be a good move: new Qt modules will be Apache license compatible, LGPLv3 code can trivially be converted to GPLv3, and Digia is even releasing a few modules it intended to make proprietary as Free Software. The KDE Free Qt Foundation is on board. The move was made because of device vendors exploiting a loophole in the GPLv2/LGPLv2.1 that denied users the right to modify Qt or write their own applications. Digia has some self-interest as well, since those vendors were exploiting the tivoization loophole to avoid buying enterprise licenses. From the announcement:
We also consider locked-down consumer devices using the LGPL’ed version of Qt to be harmful for the Qt ecosystem. ... Because of this, we are now adding LGPL v3 as a licensing option to Qt 5.4 in addition to LGPL v2.1. All modules that are part of Qt 5.3 are currently released under LGPL v2.1, GPL v3 and the commercial license. Starting with Qt 5.4, they will be released under LGPL v2.1, LGPL v3 and the commercial license. ... In Qt 5.4, the new Qt WebEngine module will be released under LGPL v3 in the open source version and under a LGPLv2.1/commercial combination for Qt Enterprise customers. ...

Adding LGPLv3 will also allow us to release a few other add-ons that Digia before intended to make available solely under the enterprise license. ... The first module, called Qt Canvas3D, will give us full WebGL support inside Qt Quick. ... The second module is a lightweight WebView module ... There is a final add-on that will get released under LGPL v3. This module will give native look and feel to the Qt Quick Controls on Android. This module can’t be released under LGPL v2.1, as it has to use code that is licensed under Apache 2.0, a license that is incompatible with LGPL v2.1, but compatible with LGPL v3.

Licensing is more complex than program itself. Everybody's getting sucked in to the lawyers' game.

This isn't surprising because one side is working with human nature - the tendency to share whatever makes them happy, and the other side is focused on battling government monopolies called "intellectual property", which is artificial scarcity enforced at the point of a gun.

Copyleft is just a hack to route around copyright damage. Absent governments enforcing it, we'd all just either release code or not releas

Copyleft is just a hack to route around copyright damage. Absent governments enforcing it, we'd all just either release code or not release code and the licensing friction would all go away.

GPL does far more than "route around copyright damage" - its aims are to give the _end user_ freedom, freedom which often wouldn't exist even without copyright.

Lets look at how things work with GPL'd code:

1. Developer A writes some code, releases it under the GPL.2. Company B takes A's code, modifies it a bit, maybe integrates it into a product (mobile phone, TV, whatever), puts the finished product (i.e. including the binaries) up for sale.3. End user C buys B's product, wants to modify it, so asks B for the source.4. B gives C the source, since the GPL says they have to5. C is happy since he can now modify the code.

(Ok, so it isn't alays plain sailing - B often has to be threatened before they will comply with the GPL; in the case of GPLv2 code, B's product may be Tivoised; frequently devices have a mix of GPL/proprietary code and its extremely difficult to integrate modifications into a device with only the GPL code, etc. but in theory at least this is how it should work).

Ok, so lets look at how this would work if there was no copyright law:

1. Developer A writes some code, releases it.2. Company B takes A's code, modifies it a bit, maybe integrates it into a product (mobile phone, TV, whatever), puts the finished product (i.e. including the binaries) up for sale.3. End user C buys B's product, wants to modify it, so asks B for the source.4. B tells C to piss off because the source is a trade secret and B is under no obligation to release it.5. C cries.

The GPL relies on copyright law to reach its goals of giving the end users the freedom to do as they wish with their own devices. Without copyright, the end users would be in a much worse position since manufacturers could use any freely released code in any way they see fit with no obligation to their end users at all.

There are sometimes legal requirements to keep the end product unmodified by the end user. Ie, most medical devices in the US must be vetted by the FDA and once released are not allowed to be modified at will by the doctors who buy them, except for customization of course. Similarly some devices that operate under FCC rules may be required to prevent invalid configurations. There are markets where security is an extremely high priority for the customers and signing the software with secured certificates

There are sometimes legal requirements to keep the end product unmodified by the end user. Ie, most medical devices in the US must be vetted by the FDA and once released are not allowed to be modified at will by the doctors who buy them, except for customization of course. Similarly some devices that operate under FCC rules may be required to prevent invalid configurations. There are markets where security is an extremely high priority for the customers and signing the software with secured certificates is necessary to even be in the market.

Sure, but these cases are the exception rather than the norm.

And of course there are all the commercial embedded developers in the middle. They want to use open source but also can not just release their entire source code to the world or allow modifications, because their legal department says no, the executives say no, the board says no, and there are a lot of competitors just waiting to pounce. BSD license is great there because BSD license wants software to be shared, whereas GPL often treats those devs as misguided.

As a software developer myself, I release code under the GPL because I am of the opinion that if someone wants to make use of my code at no cost, then they should contribute their improvements back to the project. Now I know that, strictly speaking, the GPL doesn't require them to make code available to the project, only to their customers; but in practice people don't tend to restrict the source to only their customers so the effect is the same.

Personally, if I'm working on my own time on open source then I don't care if someone does not give back or not. It is not my role to enforce altruism or a sense of community. I'm just going to share the code.

Personally, if I'm working on my own time on open source then I don't care if someone does not give back or not. It is not my role to enforce altruism or a sense of community. I'm just going to share the code.

And as the copyright holder, thats your right, just as its the copyright holder's right to impose pretty much any licence they choose on their code.

For small projects I'd do the same too, but for big projects (where there is a whole community using them), it seems fair for people who are profitting from them to give back to the community. I'm not demanding that they spend countless development hours improving software purely for the community, but I do think that if they are making those improvements *anyw

Yes, some software must remain unmodified. That's why GPLv3 has an exception for such things. Give the FSF some credit here. They had several avenues for public comments, and both of mine were addressed (sorry, N=2 is all I can do here). They were told that Tivoization is necessary for some equipment, and changed the license accordingly.

As far as developers go, most software is internal software that nobody else is going to see. That means that it doesn't matter what Open Source license it's under,

Without copyright, the end users would be in a much worse position since manufacturers could use any freely released code in any way they see fit with no obligation to their end users at all.

The part that none of you are getting is that said manufacturers have no exclusive rights over what they put out. So anybody could just as easily take that and incorporate it into whatever they are making. The problem is solved. The lawyers are the only losers in such a scenario. Without copyright GPL is totally unneces

Without copyright, the end users would be in a much worse position since manufacturers could use any freely released code in any way they see fit with no obligation to their end users at all.

The part that none of you are getting is that said manufacturers have no exclusive rights over what they put out. So anybody could just as easily take that and incorporate it into whatever they are making. The problem is solved.

No, the problem is certainly not solved - whilst the manufacturers have no exclusive rights over what they release, the point is that they aren't going to be releasing the source code. So sure, you can rip off the binary firmware from one device and put it on another(*), but if you want to modify the code you're going to be SOL unless you feel like hacking on raw binary blobs for the rest of your life. The point of GPL is that it gives the end users the right to use the things that they own in the way the

I'm pretty sure he means free to less free as a downgrade. And wether you like to admit it or not, the gpl or lgplv3 is less free than v2 for some by design because it was created to address liberties some were taking with v2 licensed code like locking the boot loader and submarining patents into it.

Lol.. you are missing the point. Before you get your panties in such a knot that your ability to have children is in danger, what you could do with v2 is more than v3 which was a specific reason for creating v3 as well as QT making the switch. This you cannot deny. By common understanding, being free to do less is not an upgrade.

Oh.. and the OSS definition of free allows you to restrict users. And the gpl/lgpl does define restricting users as free because that is specifically what the v3 changes where desig

GPL and LGPL is not OSS, it's free software which is fundamentally different from OSS. It considers the user to be more free by eliminating the risk that someone will restrict them. It does not consider freedom to restrict freedom as something positive, rather it's negative in the freedom dimension.

Thats fine and all, i even agree with it. But does the license allow the person who needs to accept it- more or less or the same amount of freedom between v2 and v3? Users don't have to accept the license, only people distributing it.

For practical purposes, Free software is Open Source software and vice versa, and the movements have a lot in common. The OSI and FSF pretty much agree on which licenses are Open Source and Free respectively. Their announced philosophies are way different, but a lot of the Open Source idea came from Free Software, as a way to get F/OS software more attractive to industry. I admire Stallman (although don't agree with him on everything), but he's a horrible spokesperson to the non-techie world.

The funny thing here is that Digia is still going to support Tivoization, but customers will have to pay for it! I suppose that's better than letting hardware manufacturers Tivoize their hardware for free, but this is the first time I have ever seen anyone upgrade their GPL license simply to force customers to pay more. It seems wrong somehow...

The funny thing here is that Digia is still going to support Tivoization, but customers will have to pay for it!

This is utter nonsense. When customers pay they are not bound by any GPL or LGPL version. Therefore the term 'Tivoization' is not applicable at all. Looks like you have no clue what 'Tivoization' really means.

What about libraries? In that case, once you pay for the library you should be able to use it, even on tivoized system. That's what the original LGPL was intended for, so that you could use an FSF library as a developer without having your entire bundle of software be required to follow GPL merely because you statically linked to the library (and in embedded systems you are often required to statically link).

All Tivoization did was teach commercial developers that FSF is an ornery as ever and to avoid GPL

What about them? The rule is the same, so either you attempt to get a specially licensed version not under the GPL, you comply with the license. The LGPL wasn't made so you could use things in tivoized systems, it was so you could use a library with a closed source program.

You can still do that, but not also include that library in a tivoized system.

All Tivoization did was teach commercial developers that FSF is an ornery as ever and to avoid GPL software (or any open source) and buy a

I can't speak for "freedom" because it's not well defined, but in the typical use meaning "liberty", GPLv3 is definitely less liberal than GPLv2.

Liberty is defined in terms of what one can legally (or violence, etc) compel someone else to do. It doesn't distinguish between audiences. If license A and B are identical except that licence A has some additional condition where I can file a lawsuit to get you to stop doing something, license A is necessarily less liberal, i.e. less free.

People have different views of what "the user" is. Some think it's the freedom of the end user that matters, the person who wants to reflash their home router. Others whoever think of the user as the developer who is using the software library. In this sense, the GPL in the past was oriented towards the end user; whereas the LGPL was created specifically in response to the needs of the library user who is also a developer. LGPLv3 is moving away from that model.

Newer is not always better.Digia really wants to be fully commercial and are annoyed at people who use Qt without paying. This change is intended to increase revenue and is not motivated by a desire to increase openness. Some commercial users have learned that they can legally and morally use the free version in some instances.

Tivoization is just a bugaboo. I applaud Tivo for using GPL licensed software, it should have been a cause for celebration.

If you are the developer, it's great! You can now static link your application into one file if you you use only Qt libs without being forced to license your code using GPL or buying a commercial license. You still *can* give your code away, but you don't have to.

If you are an end user of a Qt application, nothing really changes for you, except that subsequent software deliveries get simpler to install. Now you don't have to make sure all the necessary shared libs are

That's correct. It's one of the more obvious and beneficial uses of GPLv3: anybody who wants to do open source gets to use it for free, people who want to use closed source have to pay, and the company that supports the software gets paid to make it better. Big win for everybody. The only downside to this model is that it requires Digia to hold the copyright, which makes accepting outside submissions difficult.

RHEL is not dual licensed and Red Hat makes quite a lot of money on it by selling services around it. They even sell self supported versions where all you get is the software, but having a trusted party make the binaries for you can also be seen as a service.

BSD license gives the most freedom of all though for developers. And no one can "steal" a BSD product and make it proprietary because the original still exists, the only thing proprietary would be the modifications.

Yes, that is one of the benefits of the GPL, it allows you to dual license things. That way people who are willing to give back their changes can use it, and those who would rather support the project with money can do it that way.

I am software developer. I know my way around the Qt and QtCreator code quite well. I just don't have the time to code directly for the Qt project, since I have enough own projects. With such an extra incentive, however, I'd probably shift priorities. Maybe not only me? Could give the Qt project some extra hands... without unreasonable extra costs.

Nonsense. You cannot get a commercial license by forking. You can fork, but only under one of the open source licenses. And if I had something to say, for forking the Qt code I'd certainly NOT give a commercial license.

No, I don't confuse anything. Sure I can use the free version commercially. But it gets really ugly if you want to link Qt statically. And the commercial version has a few nice add-ons, which are not in the free version, e.g. the QML compiler. Fortunately there are some good reasons why someone prefers the commercial version... fortunately because if there were none, there wouldn't be a reason for Digia to go on with Qt.

There's nothing in the LGPL that prevent you from linking statically. Static linking is not even mentioned. You just have to be able to relink it, so shipping your object files is fine. That's essentially why VLC moved to LGPL, they wanted to be compatible with Apple's mobile app store where it has to be linked statically.

The simple solution is of course trivial, license your program under a compatible license.

I did not say it was impossible... only that it is ugly. For smaller projects shipping the objects files is not much of a problem, but the larger the project, the heavier this burden. Deployment definitely gets more complicated.

I've run into another problem. What if you want to make changes and are willing to give them back, but they aren't accepted - and you still want to use the changed version? Years back, I added a --sparse option to gunzip so that when I zipped sparse files and unzipped them, they didn't grow to consume space for all the 0's that were not taking up space in the original sparse files. I submitted the change, but never heard back and assume it was not accepted. For all I know gzip/unzip does provide a way t

Contributing your changes upstream was of course a good thing to do but you actually didn't have to. You have misunderstood the GPL. It only requires that you pass on the freedoms when you distribute the software. Therefore, if you don't distribute the program then you don't have to distribute your modifications. And if you distribute your program then you only have to pass on the source code to whoever you distribute it to, not who you got it from.

"Users" is a poorly defined term. The people who buy from Digia ARE the users! So are the people who buy the products from the people who bought Qt. The problem is that FSF cares more about the final end users than the developers using the actual libraries. Which is why there should be a clear and distinct difference between GPL and LGPL because they are intended for different "users".

I'm pretty sure they haven't accepted any contributions that didn't include a transfer of copyright. This is standard practice in a lot of open source projects, including traditional GNU projects like gcc and emacs.

ISTM they are allowing others to be unethical, and profiting from that. I guess you could call that unethical as well, but it's a different form of unethical. Until we have a business model for open source software that works repeatably, I have trouble finding a problem with this. (And yes, I've been burned selling service on open source software in the past.)

I'm on board with OSS. But I don't think it goes far enough. The right to modify the code you run is a good one. But I am calling for OSS licenses to pick up another clause, the Zero-Kill clause, where in using the software in any weapons platform (be it sniper rifles or predator drones) is forbidden. People should have the right to not fear being killed by open source software.

Additionally, I am calling for another clause to protect human rights. People should be free from fear that OSS will be used to restrict their freedoms in other ways. This includes forbidding use of the software for censorship or oppression.

I'm on board with OSS. But I don't think it goes far enough. The right to modify the code you run is a good one. But I am calling for OSS licenses to pick up another clause, the Zero-Kill clause, where in using the software in any weapons platform (be it sniper rifles or predator drones) is forbidden. People should have the right to not fear being killed by open source software.

Additionally, I am calling for another clause to protect human rights. People should be free from fear that OSS will be used to restrict their freedoms in other ways. This includes forbidding use of the software for censorship or oppression.

Both of those clauses would be incompatible with the definition of open source, especially regarding no discrimination against fields of endeavor. You're of course free to create and use such license, but keep in mind that it won't be considered open source and that a lot of people won't be able to use it.

If that is so, then I find it abhorrent that the OSS movement prioritizes the freedoms of killing, censorship and persecution above the right to life and live.

What drugs are you on really? You make as much sense as saying that because this knife didn't come with an EULA not to behead unbelievers the manufacturer supports what the Islamic State is doing in Iraq/Syria. I've never to my knowledge bought or owned anything that has a political agenda as condition for use and newer will. I do care how they were produced (no child labor, animal testing, destroying the rain forest, social dumping or so on) but I'd never buy a car that had the gall to tell me where I coul

Both of those clauses would be incompatible with the definition of open source, especially regarding no discrimination against fields of endeavor. You're of course free to create and use such license, but keep in mind that it won't be considered open source and that a lot of people won't be able to use it.

However, i don't share your concerns and likely would avoid your license or any with those provisions in them. If i wanted my code to only be used in certain ways, i would keep it propriatary and use specific licenses instead of pretending it was free.

It's not a popularity contest. It's about our legacy as human beings and as open source is inherently collective, our collective coding effort being a moral and just one.While I would like the license to be popular, only in so much that I can be assured that the software is being used to advance humanity, not to stifle it. As well as contributors to the projects can rest assured the code they submit would never be used against themselves or others in an immoral fashion.

You missed the point. You can make such a license if you like, indeed many people have made them. But it is a popularity contest in that unless a significant number of people agree with your priorities and therefore choose to adopt your license, you won't have accomplished anything.

And, of course, the GP disagrees with your priorities and wouldn't use your license. I see both sides, but I think I'd probably shy away from a license with such vague and potentially far-reaching restrictions.

Who gets to decide whether or not some specific use is a "weapons platform", "human rights" violation, or "oppression"? I highly doubt that many developers want to spend all their time dealing with it, and courts probably won't want to deal with such a vague contract.

I don't consider weapons to be inherently immoral. The use of weapons does bring up moral questions real fast, but sometimes the best way to enforce the peace is to have a weapon. Sometimes the best counter to a bad guy with a gun is a good guy with a gun, although not nearly as often as the NRA apparently believes.

Look, you may be a pacifist, which is a perfectly respectable philosophical opinion, if not one I share. (If you're not, then you really shouldn't object to weapons just because they're wea

I would counter with morality is not religion. And religion is not morality.

The first tier of morality, as far as the moral operable software license is concerned, it is akin to Asimov's Laws of Robotics [wikipedia.org]. Since robotics will most likely consist of a software component, the software itself should be covered by a license with morality clause.

I would then say the second tier is to not cause non-lethal suffering. This would include things like torture (physical), torture (mental), causing injury, disease and m

I would counter with morality is not religion. And religion is not morality.

So you're saying that your specific sense of morality should be generally accepted? Many people have religious beliefs, and they generally influence their morality. It's no stranger than taking one's morality from a set of rules thought up by a science fiction writer and largely used to construct interesting logical puzzles. Moreover, the rules applied to the robots, not the use people made of them, and the robot brains were no

We're not going to come to any absolute decision or agreement. Which is fine. The world and morals aren't experienced in terms of absolutes.

It depends on what "weapon" means. An amalgamation of steel resembling an AK-47 is a weapon. Heck even a chunk of iron ore is a weapon. It's not the weapon that is bad it is the use. And weapons and software are used in both moral and amoral contexts. It's not the lines of code or parts of the machine. It becomes moral only when a person picks it up and carries out the

It was my understanding that the LGPL was created so that applications could link against them without needing to open source themselves. So the LGPL v3 is going to put a nail into mobile developers' coffins and punish them for the actions of the hardware they develop for? Obviously, the ability to swap out dynamic libraries easily on mobile systems is not going to change, and since LGPL v3 was created to stop that, does that mean that the only choice as developers is to stop using LGPL v3 libraries, or b

The problem is that Richard Stallman is a fucking egocentric hypocrite and the gpl contract should be voided. If a company took a look at how the gpl code worked and then came up with a brand new algorithm with the same results as the gpl it would still be considered gpl code which is ridiculous.

Yes that is ridiculous, that's why it doesn't work that way.

Linux has no unix code(different algorithms but same results) but it looks like unix and it runs like unix, wouldn't this be a violation of unix patents?

If a company took a look at how the gpl code worked and then came up with a brand new algorithm with the same results as the gpl it would still be considered gpl code which is ridiculous.

Why should it be considered GPL code? Since the new code is different in multiple ways from the GPLed code, there is no copyright infringement. Only patents deal with abstraction of multiple implementations of an algorithm.