Linked by snydeq on Wed 1st Feb 2012 21:36 UTC
General Development InfoWorld's Rick Grehan takes an in-depth look at Opa, MLstate's attempt to provide a single language for Web app development, and one of 10 cutting-edge programming languages that could shake up the future of IT. "With Opa, you write your Web application as though it were a single-tier program, and the compiler handles the knotty details of partitioning your program and deploying the resulting components to their proper domains. The compiler also builds the communication infrastructure among application components, and that infrastructure is invisibly managed by the runtime. The security weaknesses inherent in today's Web applications are virtually eliminated."
Thread beginning with comment 506052
To view parent comment, click here.
To read all comments associated with this story, please click here.
Sodki
Member since:
2005-11-10

First of all, let me state that I will capitalize the words Free and Freedom when talking about FSF, to differentiate the software license terminology from the general usage of free and freedom.


Look at freedom 0:

"
The freedom to run the program, for any purpose (freedom 0).


Well, if your purpose is to provide a web service, you are out of luck with the AGPL. You are not free to do it unless you release all your private changes, and any other program that connects to it. If there are conditions, then you are not free, period.
"

That's the old war between the GPL and BSD licenses. I prefer to look at the meaning of Free as "something can not turned into un-Free". Regarding AGPL, you can of course use it to provide a web service and you might even not need to release changes because you haven't actually made them. And even if you made them, it might not even be a problem to release these changed if requested. I've successfully used AGPL software in the past, no problems there per se.


So, the concept of private, unreleased software would disappear. In the AGPL world there's no privacy.


This has nothing to do with privacy. It's software code, same as GPL, but plugging a so-called loophole. It's mostly looking at the problem in a different light, really.


But wait, the GPL says you can't release modified software binaries without the source.


Actually no. The GPL says you must provide the source code when requested. It's a subtle, but very profound difference.


This apparent contradiction is solved by stating that source code is a precondition of freedom 1 (to inspect and study the program). I think this statetement is false, becase you can always reverse-engineer the binaries.


No, you can't always reverse engineer the binaries. It's awfully hard and time consuming and sometimes it's even illegal to do so.

It's also an unfortunate confusion of negative and possitive freedoms. For instance, to really understand the software, you don't just need the source code, you also need some knowledge of programming. Should the distributor give you free lessons?


You don't need free lessons, you just need the tools to study the software, thus the source-code requirement.

In contrast, look at the conditions to use the AGPL-licensed Opa framework: according to the article, it's free until you make one million dollars with your web service; then you have to pay. It doesn't sound like free software at all.


I would agree with you, but I didn't found that million dollar condition anywhere on Opa's website or source code.

Reply Parent Score: 2

wannabe geek Member since:
2006-09-27

Thanks for your answer. I think this topic should be discussed in depth.

First of all, let me state that I will capitalize the words Free and Freedom when talking about FSF, to differentiate the software license terminology from the general usage of free and freedom.



Fair enough. I like clarity.

I tend to use lower case unless there's a real risk of confusion. For instance, if I say "freedom 0" it's obviously FSF terminology.

When I speak of free-of-charge software I say "free of charge" or "gratis".

Also, we must distinguish what the FSF declare to be Free from what can be called free according to the FSF definition. I mean, if the FSF says "this program is Free software" then it is, by definition, "officially FSF Free software".

But just as it makes sense to say that Tolkien could have made a spelling mistake in some Elvish sentence, the FSF might in principle be wrong about a licence, if the concept of software freedom is to have any life of its own (and therefore any relevance). I can say that a piece of software is "free according to the FSF definition" even if it's not "officially FSF free". It may sound pedantic, but that's another matter.

So where shall we put the capital "F", in "officially FSF free" or in "free according to the FSF definition"?




That's the old war between the GPL and BSD licenses. I prefer to look at the meaning of Free as "something can not turned into un-Free".



I see a few problems with this definition.

First, there's already a term for what you mean: copylefted.

Second, in a literal sense there's no way to turn free software released under a BSD licence into non-free software. The original software remains free forever. Only a modified version could be nonfree. I know, you can say that the modified version is still the same software, in some sense. But still, the original did not become unavailable, so it was not "turned into" nonfree software.

Third, according to your definition, only copylefted software is Free. That would mean the BSD license is nonfree. I never heard the FSF make such a claim.

Fourth, what about dual licencing? If nonfree derivatives are a big no-no, you have to remember that the copyright holder can release all the nonfree derivatives they want.






Regarding AGPL, you can of course use it to provide a web service and you might even not need to release changes because you haven't actually made them. And even if you made them, it might not even be a problem to release these changed if requested. I've successfully used AGPL software in the past, no problems there per se.



That's all true, but it only means that you don't have problems with the AGPL if you are willing to obey its terms and conditions. The same can be said of an EULA. But what if you do want to make changes and not release them? You can't.



This has nothing to do with privacy. It's software code, same as GPL, but plugging a so-called loophole. It's mostly looking at the problem in a different light, really.



It has nothing to do with the privacy of your home, but it does have to do with the privacy of your private work. The "loophole" they plugged is private software. With the GPL you can have it, with the AGPL you can't.

Ironically enough, the more the FSF refines its concept of Freedom, the more it strives to "plug loopholes", the more it looks like the principles of Open Source, rather than Free Software. The AGPL may well fit into the OSS framework. After all, it does guarantee that everything will be developed "in the open", as opposed to "behind closed doors". In contrast, the FSF was supposed to be all about empowering the user, giving them all the Freedoms a user may need as a user, and only restricting their ability to deny those Freedoms to other users. That's why the concept of private software seemed very central to the idea. With the AGPL and also, I think, the GPL-3, rather than plugging a hole in copyleft it looks like they opened a big hole in the concept of private software.



Actually no. The GPL says you must provide the source code when requested. It's a subtle, but very profound difference.



It makes no difference for those who would like to keep the source code unreleased.




No, you can't always reverse engineer the binaries. It's awfully hard and time consuming and sometimes it's even illegal to do so.



True, but my point is, you can always "inspect" the binaries and "try to learn how they work". Of course it may be very hard, but as long as the distributor does not use IP law to prevent you from doing it (ie he didn't make it illegal), he's not restricting your Freedom to inspect the software he *gave* you.



You don't need free lessons, you just need the tools to study the software, thus the source-code requirement.



It's not about what you need, it's about how the distributor must behave in order to respect your Freedom to inspect the program he gave you. Some people can reverse-engineer a binary, others need the source code, still others may need documentation, and so on.

Of course, if he doesn't give you the source code, he's not being very helpful, but my point is, he's not getting you into a moral dilemma either. You don't have to decide whether to respect the law or to help your neighbor; you can do whatever you want with what he gave you.



I would agree with you, but I didn't found that million dollar condition anywhere on Opa's website or source code.


Here:

http://blog.opalang.org/2011/09/opa-license-strikes-again.html


From today onwards we provide a free proprietary Opa license for companies with revenue not exceeding $1M. Please note that, unlike paid license, it comes with no added services, such as training or support.

Reply Parent Score: 2