User: Password:
|
|
Subscribe / Log in / New account

From free software to liberal software

Please consider subscribing to LWN

Subscriptions are the lifeblood of LWN.net. If you appreciate this content and would like to see more of it, your subscription will help to ensure that LWN continues to thrive. Please visit this page to join up and keep LWN on the net.

By Jonathan Corbet
January 25, 2017
linux.conf.au 2017
Robert M. "r0ml" Lefkowitz was the fourth and final keynote speaker at linux.conf.au 2017 in Hobart, Tasmania. He immediately served notice that his talk was going to differ from those of his predecessors; they offered "deep insightful questions", while he had answers. Also, the first three were nice people. What followed was an energetic event that left many in the audience wondering what they had just witnessed. The future of free and open-source software is grim, he said, but maybe we can make something better to replace it.

Your editor will endeavor to recount the main points of the talk, but there are limits to what can be done with the written word; watching the video is recommended for those who are interested.

Pia Waugh, in her keynote, said that we don't have to carry the systems of the past into the future, that we should challenge our assumptions; that was good advice, r0ml said. Dan Callahan correctly said that free licenses are not enough. Nadia Eghbal told us that we need to think about uncomfortable issues. To that last he posed the question: what is the future of free and open-source software? The answer was: it has no future.

We had set out on a goal to make the world better by liberalizing access to technology. Free and open-source software were a great tactic to advance that goal. Free software had a great run from 1984 to 1998; open-source software had another great run from 1998 to around 2018. But that run is coming to an end, what do we do next? He had three proposals for what the next thing should be: lithification, app freedom, and liberal software.

Lithification

The run of free and open-source software is coming to an end because it is no longer well matched to the substrate of where technology is. Imagine we were still using punched cards; how would one do a merge or a pull request in that environment? The technology would not support such strategies. Our strategies have to match the available technology, and, when the technology changes, we have to come up with new strategies to match.

At this point, he said, the crowd must think he's a bozo. Open source has won, after all. But others, including Tim O'Reilly and Doc Searls, have been saying the same thing. Searls said that we won the battle for Linux, but are losing the battle for freedom — a sad observation. Putting up a Google Trends plot, he showed that searches for "open source" have been in decline for years. The same is true for "free software" — and that includes people looking for free-as-in-beer software. Even plain "software" is in decline, as are searches for "Linux". People may call him a bozo and respond that software is eating the world, but the truth is that the world is eating software.

Searches for "CVS" follow a similar downward path. "Subversion" had a bump, but then went into a steady decline. "Git", instead, has been climbing for years and is still on the way up. Another line that is going up is "app". Yes, apps are just software. But if people think of them as two different things, then that is what they are. "Is Linux an app?", he asked. If it's not, but it is software, then perhaps the two are indeed different.

Small Pieces Loosely Joined is the name of a 2003 book about the web by David Weinberger. But that idea predates the web, it's part of what makes Linux great — pipes allow small pieces to be joined on the command line so that functionality can be composed. But that term also describes lithification, the process by [r0ml] which small grains, initially loosely packed, are compressed into sedimentary rock. That, he said, is what is happening to software.

Putting up a picture of the linux.conf.au web page on a handset, he noted that, if he wants to send it via email, he just hits the appropriate button and it happens. The page can be piped to another app. Zawinski's law says that all programs expand until they can send mail [yes, he said "send" even though the original is "read"]. But now all programs have to be able to do that, as well as send tweets and more. We can build this into our programs, or just make them all talk to each other — small pieces loosely joined.

While preparing the talk, he wanted to add a reference to a book. He thought about creating a barcode-reading app that would allow him to quickly obtain an image of a book's cover, but found that barcode-reading functionality is already built into the iOS and Android systems, along with other features like face recognition and optical character recognition. It's all built into the operating system now. The small pieces have all become a part of the substrate.

But that's Android, not Linux. Perhaps we can say that Android is "Linuxish". How about Windows? Now that it runs Bash and such, it's Linuxish too. Now we have GNU/Linux, Android/Linux, and Windows/Linux. This is a Linux conference, he said, so we can say that, once Linux is a subcomponent of all our other systems, we have won. But, going back to the search trends, it's clear that the world sees Android as being "some other thing that's better than Linux". That hurts.

So what do we do? The reason that commercial Linux is succeeding while free Linux is not is the latter's focus on copyright. Google has a concept called "vendoring"; rather than have dependencies, Google developers simply copy the code they need into their own repository. If that code is BSD licensed, the process is done. You'll have a big repository that you can package and distribute with no dependencies. That is lithification.

Why don't we in the Linux community do that? It feels wrong somehow. But there's a lot of evidence that shows it's a superior solution to the problem. Back in 2000, Butler Lampson, who arguably invented personal computing, argued that a project should only accept dependencies that are at least 5 million lines of code; 20 million lines is better. For anything smaller, just figure out which parts you need, copy them into your repository, and avoid having a dependency to deal with.

We're moving into a different world where the substrate is huge, while apps are getting smaller. Deployment environments are doing the same thing. The whole leftpad() fiasco was caused by developers who couldn't figure out how to implement that functionality themselves, and couldn't figure out how to copy the existing function into their own repositories. Or they could, but there is a social anxiety that prevents them from doing so. But this anxiety is fictitious. Copying the two functions we need from a big library to avoid dependencies is a skill we are all going to need to do lithification after open source no longer works.

App freedom

Bret Victor once said that advanced programming environments conflate the runtime environment with the development-time environment. Open-source methodologies are explicitly about preventing this conflation. But the two should not be separate. This failure to understand can be seen in the four freedoms that define free software. Explaining why this so requires looking at some history, or everybody will just think he's a bozo.

In the 1980s, the world was trying to figure out the best way to build software in a world where programs are large and people have to collaborate to get the job done. One school of thought said that we should just make everybody give their source to everybody else, and that will make it easier to develop software. "But everybody knew that would never work".

The other school of thought was object-oriented programming, where you don't need to see the source for the libraries you're using because the abstraction allows behavior to be clearly described, inherited, and overridden. There would be no issues around conflation of development time and run time or copyright, [r0ml the bozo] and we would be able to lithify our software. That didn't work out, and it's now just another legacy we're stuck with, he said. But that was the state of the world at the time.

Also at that time, ordering a GNU CD from the Free Software Foundation was relatively expensive. That expense was arguably unnecessary, but the process of building and delivering the software appeared to have value. That is partly because the recipient was expected to have a computer in their basement to run that software on. But we don't live in that world anymore.

Now, when you use a computer, it's nowhere near you. Almost everything you do is running on a distant machine that you can't download software to or build stuff on. But that's what you want to do: make changes to your code and run it on somebody else's computer. That is the hard part: replicating Google's vast number of servers in your basement. Without that, the second freedom, the ability to modify the software, is lost to us.

Imagine if you wanted to change how GitHub works. If you had the source, all you would need to do would be to reproduce GitHub's entire infrastructure in your basement, make your changes, and convince all of your friends to use the result. Or you could somehow get GitHub to allow you to make the change. The latter is generally easier, and points out another failing in the four freedoms. Freedom 3 is the right to distribute modified versions to others, but, in this world, it's not necessarily access to the source that enables this freedom. Instead, it's access to the runtime environment.

GPLv3 section 6 actively disallows this sort of freedom; it reads:

Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.

Anybody who thinks that a network provider couldn't find some reason to proclaim any given change harmful is more optimistic than he is. GPLv3 gives license to that sort of discrimination because it doesn't care what happens at run time; it is only concerned with development time. The authors of the GPL think that development and run time are two different things.

Imagine a world where source-code management was incorporated into a web site. Users could push their own modifications on branches and specify which version they wanted to use. Even if the source is available today, we don't know how to give people the freedom to modify our web sites at run time. We give them the source, but no way to deploy it. That is something we need to change.

When he raises this kind of idea, people immediately start asking questions. How would security issues be handled, for example? Wouldn't it be great, he asked, if there were a community of people out there who understood computers, who were committed to liberalizing access to software, and who might be able to work out technical answers to some of these questions? They might be able to figure something out. He would call the result "liberal software".

Here he took a moment to say that, if you think he's a bozo, you should join the Software Freedom Conservancy to help them defend the free-software world that we have now. If, instead, you agree with him, you should realize that we still need free software until this future is built. So you should still join the Software Freedom Conservancy.

End-user development

Years ago, Guido van Rossum started the "Computer Programming for Everybody" project to pursue a utopian vision in which everybody could program. That didn't work out. Now there seems to be a renewed interest in learning how to program, though it's mostly focused on jobs. But one should consider: what is the most successful programming environment ever created? Excel. More people have solved more problems using spreadsheets than any other way. Spreadsheets don't have separate source and libraries; everything, including the data, is all mixed in together.

Perhaps someday one could request an app by asking Google or Siri to make it. This is a scenario a lot like Excel, with some similar issues, including just where the source code is. An increasing amount of the "source" is personal data stored in databases; nobody would want that to be released. In a world where data and code are intermingled, releasing the result looks increasingly like an invasion of privacy.

So copyright starts to not apply anymore. Already "nobody thinks it's a good idea" as demonstrated by how few GitHub repositories have a license associated with them. Before 1974 software couldn't be copyrighted; it was seen as a mathematical activity. An alternative view said that it was a literary activity instead. The government's view was that it was a useful activity. It was important to the promoters of free software to convince people that software is not useful, because otherwise it would be patentable. We had to invest a lot of energy into copyright and into convincing people that software was not useful, it was literary. We have succeeded with open source.

One can see how the world is changing today. There are already sites that will ask about a user's requirements, then construct a library to suit. As the tooling gets better, constructing such things will become easier. People's freedom will increase as they can construct their own programs and deploy them on infrastructure they don't have to manage themselves.

Some of us, he concluded, are going to have to build that.

[Your editor would like to thank linux.conf.au and the Linux Foundation for assisting with his travel to the event.]


(Log in to post comments)

From free software to liberal software

Posted Jan 26, 2017 1:52 UTC (Thu) by linuxrocks123 (guest, #34648) [Link]

> But one should consider: what is the most successful programming environment ever created? Excel.

This assertion should have been near the beginning, so I would have known to stop reading.

> But if people think of them as two different things, then that is what they are. "Is Linux an app?", he asked. If it's not, but it is software, then perhaps the two are indeed different.

App is short for application. Operating systems aren't applications, and we all know that already. LibreOffice is an app.

> But, going back to the search trends, it's clear that the world sees Android as being "some other thing that's better than Linux". That hurts.

Perception isn't reality. Android is Linux. That is a fact. "Alternate facts" aren't.

Independently, Google search trends are not a measure of anything important with respect to serious topics.

From free software to liberal software

Posted Jan 26, 2017 6:52 UTC (Thu) by tlamp (subscriber, #108540) [Link]

If you watch the video you'd see that not all things said should be taken literal and word for word.
His talk was intended to be provocative and thus uses some somewhat ridiculous examples or statements, although the ridiculousness they all hold some core truth, imo.

>> But one should consider: what is the most successful programming environment ever created? Excel.
> This assertion should have been near the beginning, so I would have known to stop reading.

successful != good and successful != that what a good programmer uses

> > But if people think of them as two different things, then that is what they are. "Is Linux an app?", he asked. If it's not, but it is software, then perhaps the two are indeed different.
> App is short for application. Operating systems aren't applications, and we all know that already. LibreOffice is an app.

Debatable,https://en.wikipedia.org/wiki/App#Computing App is Application Software, also Linux in user space exists.
And further Linux is a OS Kernel, for some people init=/bin/sh may be enough, others may need some more software (Apps?) to say they got an whole Operating System going there. I mean Busybox uses the name applets, and Busybox + Kernel is a full OS.

His point is also that things in technology and development changed, and to question if the current Open Source models can hold still as they did until now.

> > But, going back to the search trends, it's clear that the world sees Android as being "some other thing that's better than Linux". That hurts.
> Perception isn't reality. Android is Linux. That is a fact. "Alternate facts" aren't.

Isn't that a bit the GNU/Linux != Linux? Android uses Linux, in a somewhat modified form, that's for sure.
But I wouldn't dare to say that the are equal, they are far from equal, as they are two different things.
Oh and please stay away with politics talk, if you say something is a fact provide citations not political connoted rhetoric, sorry to be rough here but LWN is, imo, not a place for such.

> Independently, Google search trends are not a measure of anything important with respect to serious topics.

But they may give a overview of what the general opinion about those who use google (which should be quite some people).
But I understand your point, on the other hand watching the video of the talk allows to see that he uses quite some humor in between of seriousness.

From free software to liberal software

Posted Jan 28, 2017 17:26 UTC (Sat) by shmget (subscriber, #58347) [Link]

"But they may give a overview of what the general opinion about those who use google (which should be quite some people). "

it does but as a snapshot reflecting not only the 'general interest' of these people, but also their composition at the time.
The demographic of the people using google in 2004 and using google in 2016 has changed a lot
so will be their reflected interest in google trend.
The downward trend of some topics cannot necessarily be attributed to a dwindling interest, but may be a consequence of dilution of specialized interest into a growing, more general audience.

From free software to liberal software

Posted Jan 26, 2017 13:43 UTC (Thu) by k3ninho (subscriber, #50375) [Link]

>> But one should consider: what is the most successful programming environment ever created? Excel.
>This assertion should have been near the beginning, so I would have known to stop reading.
The pots of memory in each cell and the references between each cell and the functions on data from other cells... If that's not a programming environment, then we have an important difference of agreement.

Notwithstanding that difference, you don't know how many trillions of dollars, euros, yen and the rest have been managed and profits made from computers running Excel. Excel as a run-time for money-making programs (one measure of success) or Excel as a business-management tool across billions of microscopic businesses, both of these are huge portions of humanity's endeavours in computing.

(I'm not even a fan of Excel. It does things for legacy reasons that are really unwelcome.)

K3n.

Excel

Posted Jan 28, 2017 1:36 UTC (Sat) by louie (guest, #3285) [Link]

It isn't just the dollar value. There are almost certainly more people who know how to do basic programming in Excel than any other programming language. It's taught as a basic requirement in most business programs, and there were 4x as many business majors in the US last year as computer science, math, and engineering combined.

Excel

Posted Feb 3, 2017 2:03 UTC (Fri) by ras (subscriber, #33059) [Link]

It's not just business. Try looking over the shoulder of an engineer and see how he works. (It doesn't matter what type - electrical power, micro electrical, chemical, mechanical - they are all the same.)

We in the software world are the weird ones - we the one of the few (only?) profession that don't program in Visual Basic and formula's.

Speaking for myself as a professional programmer - I'm utterly hopeless at spreadsheets. If I don't have my unit tests, my documentation, my lint's, my pre-processors, my repeatable build scripts, my vcs's, I flail. When I built a complex spreadsheet and came back to update it the next year - I couldn't get it to work again.

I gave up and re-did it as a Jupyter notebook. That worked remarkably well, and I resolved to never do something complex in a spreadsheet again. I mentioned this to engineers I knew. I showed them the results - the data separated from the code, how the explanations flowed naturally with the code, the power and breath of the python libraries. They said "you mean I can't use VB, I have to learn another language to use this". When I said "of course", they looked at me like I was an idiot.

Excel

Posted Feb 6, 2017 6:28 UTC (Mon) by alankila (guest, #47141) [Link]

Excel is, in my opinion, probably the most intuitive programming environment ever constructed. The evidence for this claim is that it actually allows nonprogrammers to achieve complex tasks with it.

1. To write Excel programs, you can just start typing. Everything is set up for you in terms of the environment when you open the application. Your sheet is visible to you, and to program something in the sheet, you just select a cell and start typing.

2. It allows you to see the state of the system, all the time. The value of every cell is visible to you, which is especially important when it is some kind of expression. This allows you to keep track of the values of these expressions and verify them in your mind. When things don't make sense, you just keep staring at the cells until you realize which one of them is wrong.

3. It provides all sorts of complicated built-ins that are written by actual experts so you don't have to figure out how to calculate PMT or whatever yourself.

This is all about reducing the barrier of entry. I don't think Excel applications work forever, e.g. people try to maintain big databases in Excel such as list of clients and calculate their revenues, and and eventually the fact they can't all concurrently edit the same file causes people to start forking that file, and then some business people later update the official copy to be more accurate, but the forks don't get updated, etc. So in practice, it slowly degenerates into madness, until you no longer have a single coherent picture of your business and are forced to scrap all those Excel sheets.

Excel

Posted Feb 6, 2017 9:19 UTC (Mon) by anselm (subscriber, #2796) [Link]

I'm not an expert on Excel and similar programs, but what bothers me whenever I need to use them is that there's no way to see what is actually going on short of clicking on every cell.

Generally, it seems that spreadsheets – not unlike programming languages such as PHP – have the property that it is easy to do simple things. That sucks people in, but as spreadsheets get more complicated with time it is getting more and more difficult to keep track of all the little goodies hidden in those cells. Finally you end up with a spreadsheet that can do everything including talking to the spirit of the long-dead original company founder but the person who wrote it left for another job five years ago and nobody else can figure out how it works.

Excel

Posted Feb 6, 2017 11:46 UTC (Mon) by cladisch (✭ supporter ✭, #50193) [Link]

> there's no way to see what is actually going on short of clicking on every cell.

Nowadays, spreadsheet programs have an option to show formulas instead of their results, or to draw pretty arrows for the dependencies.

Excel

Posted Feb 6, 2017 12:00 UTC (Mon) by anselm (subscriber, #2796) [Link]

I suspected something like that might be the case (it sounds like a reasonable feature to have). I did a cursory search through LibreOffice Calc but couldn't obviously find that feature in the menus, which probably says more about my familiarity with LibreOffice Calc than the program itself.

Excel

Posted Feb 6, 2017 13:15 UTC (Mon) by farnz (subscriber, #17727) [Link]

You probably want to investigate the Tools->Detective menu to find the dependency arrows - I've not found a formulae only view, though.

Excel

Posted Feb 7, 2017 14:25 UTC (Tue) by cladisch (✭ supporter ✭, #50193) [Link]

Tools – Options – LibreOffice Calc – View – Display – Formulas

From free software to liberal software

Posted Feb 1, 2017 13:17 UTC (Wed) by mirabilos (subscriber, #84359) [Link]

“This assertion should have been near the beginning, so I would have known to stop reading” yeah, right.

This is one of the worse pieces I recently read here.

From free software to liberal software

Posted Feb 8, 2017 20:06 UTC (Wed) by ssokolow (guest, #94568) [Link]

"Linux, the kernel" and "Linux, the vernacular shorthand for the Linux+glibc+X11 ABI" are two different things.

People tend to be talking about the ABI (the part which defines which applications you can run) when they compare Linux vs. Android on grounds other than UI design. (The clue is that they'll assign a fair bit of significance to how Android can't run "Linux apps" and vice-versa if you ask them.)

Depending on their level of technical expertise, they may also lump the x86/x86_64 ISAs in under that "Linux" shorthand. (The easiest cue there is the amount of significance they assign to "Linux games")

Conflating the two different meanings of "Linux" just frustrates people because, on an intuitive level, they perceive it as someone cleverer than them using a rhetorical trick to trivialize and dismiss their concerns by playing with the words while they struggle to express a concept that has identity independent from the words.

It's reached the point where I'm seeing more and more people who perceive "Android is Linux" as taking a similar role to "all lives matter" in discourse.

From free software to liberal software

Posted Jan 26, 2017 7:49 UTC (Thu) by Karellen (subscriber, #67644) [Link]

Now we have GNU/Linux, Android/Linux, and Windows/Linux.

Nitpicking Lefkowitz - that last one should almost certainly be GNU/Windows.

From free software to liberal software

Posted Jan 26, 2017 17:37 UTC (Thu) by simosx (subscriber, #24338) [Link]

There are many desktop GNU/Linux distributions and there are many (now fewer) GNU/Linux mobile operating systems.

Instead of focusing on one desktop GNU/Linux distribution and one GNU/Linux mobile operating system, the user-base is split among many options. You do not get the exceptional quality, polish, support, user-base in a single one of them.

You may get trash-talking, specifically the trash-talking against other GNU/Linux operating systems which splits up the efforts. This was evident with the mobile operating systems, which one by one are now going away. It is very difficult to compete with Android. If something does not come out as a viable GNU/Linux mobile operating system, then we have lost (also the desktop). No front-facing GNU/Linux product.

Instead of thinking about the freedom of free software, we should start thinking about the long-term freedom of free-software.

From free software to liberal software

Posted Jan 26, 2017 20:25 UTC (Thu) by christian_couder (subscriber, #56350) [Link]

> Imagine a world where source-code management was incorporated into a web site. Users could push their own modifications on branches and specify which version they wanted to use. Even if the source is available today, we don't know how to give people the freedom to modify our web sites at run time. We give them the source, but no way to deploy it. That is something we need to change.

GitLab has Review Apps since last November and it looks close to that:

https://about.gitlab.com/features/review-apps/

(Disclaimer: I work for GitLab.)

From free software to liberal software

Posted Jan 26, 2017 23:05 UTC (Thu) by PaulWay (guest, #45600) [Link]

This is a really great summary of a very complex and fast-moving talk. I've tried many times to distil the ideas r0ml talked about into one or two ideas, but it's very difficult.

I also liked r0ml's point that there's a large, (somewhat) untapped market for programmers to go and solve bug reports or feature requests. Imagine if GitHub had a "pay $20 and have this bug fixed" button on its issue tracker. Then programmers could log into GitHub, look at the issues that had the most promises of funding, and then contribute the code. Once the project maintainers merge the code, the contributor's accounts get debited, the programmer gets paid, and they can move on to the next piece of code.

Anyway, great work Jon and LWN for covering this.

Have fun,

Paul

From free software to liberal software

Posted Feb 8, 2017 20:08 UTC (Wed) by ssokolow (guest, #94568) [Link]

While they're not integrated on the GitHub side with the "pay X to have this fixed" button, BountySource tries pretty hard to be the programmer-side of what you're asking for and they allow anyone to hang bounties off any open GitHub issue.

From free software to liberal software

Posted Jan 26, 2017 23:19 UTC (Thu) by PaulWay (guest, #45600) [Link]

The one assertion I think is worth challenging in r0ml's talk is that copying code, rather than using libraries, is the right way to solve dependencies.

Imagine if everyone imported the OpenSSL code into their project to do SSL. When a vulnerability is announced, you now have to update every piece of software. Oh, no, wait, you actually have to then make sure that every piece of software you use has copied the updates from the OpenSSL code back into their own project, recompiled and redistributed the binaries.

Or you have to compile everything from source every time. Maybe Gentoo is the Right Way.

Google's 'Go' language encapsulates this idea. It has no shared libraries, but shared code that is compiled into the application. I agree with this general principle, but the key difference is that Go's environment also keeps all those dependent libraries up to date. The `leftpad()` debacle would have (hopefully) been avoided in Go by everyone's build breaking *before* they deployed to production. You do run tests, right? So that binary is known to work, and no shared library is going to change underneath it and break it.

But for that, you need a coding environment that makes sure all those libraries are up to date. Until we something like this in C - and I'd love to see such an environment - I think shared libraries and system package updates are a better way of handling the constantly updating fabric of libraries our software depends on.

And I do think there's also something to be said for the idea encapsulated in mobile device interfaces - interfaces and APIs. No app on a phone has to implement all of the ways of sharing, it just has to use the common sharing interface to either hand stuff to share over, or accept that stuff and share it. Copy and paste is another implementation of this idea in GUIs. Zawinski's law only really applies to things that can't hand off "reading email" to some other application.

Have fun,

Paul

From free software to liberal software

Posted Jan 27, 2017 0:59 UTC (Fri) by neilbrown (subscriber, #359) [Link]

> The one assertion I think is worth challenging in r0ml's talk is that ....

Only one? I found the whole talk to be full of confused muddy thinking, which is a shame because the topics are interesting and some observations seemed valuable.

Lithification seems to apply at two levels: apps and platform. You are right that the maintenance costs of app-lithification were not mentioned but should be a big concern. In the specific example of SSL, one might expect platform-lithification to make that a non-issue as SSL would be part of the platform, right next to barcode scanning.
Lithification, as defined in the talk, certainly is happening. But I don't think the speaker provided any real help in how to think about the issue and assess the costs and benefits.

"App Freedom" really boiled down to "service providers should let us run our own code on their infrastructure, with access to their internal datasets and services", and that just came across as naive. We have always had to buy our own hardware to run our free software, and there is no reason to expect that we wouldn't need to pay a price to run our free software on someone else's hardware.

"End-user development" didn't really go anywhere useful either. The idea of "Computer programming for everyone" makes about as much sense as "universal literacy". That means that it makes lots of sense as long as you set expectations properly.
Most literate people won't write much that is worth reading a second time. When they do, the text they created can be preserved and reused with very little change, or can incrementally be polished and reformatted without changing the intrinsic shape.
With code, this transition from one-off to reusable is much harder. I think that is the important point about spreadsheets, though it seemed to be well-hidden. It is a little easier with bash, as a pipeline can be pasted into a script file and reused. But it doesn't take long before a bash script is no-longer the right solution.
If we want to really encourage end-user development, we need to think about that transition from easy-throw-away to generalize-reuable. I think that is a really interesting question which the speaker almost raised, but didn't really say anything coherent about.

Possibly the clearest example of incoherence was the reference to GPLv3 which was quoted in the article. I cannot see how that section could be seen to disallow some freedom as the speaker suggested. I would paraphrase it as a reminder that "Your right to swing your fists stops at my face". Just because you have the right to run some code, that doesn't mean network providers have to let the output of that code onto their network.

From free software to liberal software

Posted Jan 27, 2017 8:14 UTC (Fri) by krig (subscriber, #92101) [Link]

I think you're missing the point on app freedom: It's not that he is naively suggesting that service providers will magically decide to open up their servers to anyone. What he is saying is that the freedom that the GPL purports to give users is meaningless because the literal "source code" is useless without those servers, or for example the source code to an AI like Siri is useless without the data sets that make it work. The infrastructure and data are "source code" to the actual service just as much as the source code itself, and without considering that, there is no actual freedom provided by the GPL. It is the programmer who thinks they are liberating users by licensing their code as GPL who are naive.

From free software to liberal software

Posted Jan 27, 2017 9:26 UTC (Fri) by neilbrown (subscriber, #359) [Link]

You may well be correct - thanks.

> It is the programmer who thinks they are liberating users by licensing their code as GPL who are naive.

But .... surely it is the software that the GPL liberates (RMS founded the "Free Software Foundation", not the "Free Users Foundation").
The GPL only provides for the 4 freedoms, not for free power for free CPU cycles or free wifi. Or free access to someone else's data.
Using the GPL liberates people as much as it ever did - which isn't very much and is of no value for some people and lots of value for others.

The idea that "People don't care about software anymore, they only care about services" is certainly consistent with the speaker's message and consistent with the suggestion that the GPL doesn't meet lots of people's needs. But that seems ....irrelevant. You are very welcome to share my recipes, but you aren't welcome to share my dinner table (sorry... nothing personal you understand).

I do think I now have a clearer idea of what it is that was said that I disagree with. Thanks.

From free software to liberal software

Posted Jan 28, 2017 1:43 UTC (Sat) by louie (guest, #3285) [Link]

"But .... surely it is the software that the GPL liberates (RMS founded the "Free Software Foundation", not the "Free Users Foundation")."

The FSF, at least these days, gets this right. From the introduction to the Free Software Definition, emphasis mine:

“Free software” means software that respects users' freedom and community. Roughly, it means that the users have the freedom to run, copy, distribute, study, change and improve the software. Thus, “free software” is a matter of liberty, not price. ... We campaign for these freedoms because everyone deserves them. With these freedoms, the users (both individually and collectively) control the program and what it does for them. When users don't control the program, we call it a “nonfree” or “proprietary” program. The nonfree program controls the users, and the developer controls the program; this makes the program an instrument of unjust power.

And so on.

From free software to liberal software

Posted Feb 2, 2017 10:58 UTC (Thu) by Wol (guest, #4433) [Link]

Yup. It's BSD that frees the *software*.

I'm not saying either approach is right, but once you get that straight in your mind, the differences, advantages, and disadvantages of both approaches becomes a lot clearer.

And this is probably why the "Open Data" movement is so important, too. But we then collide with privacy and, this is where I can disagree with a lot of people, we can easily end up with harassment. Which doesn't even have to be intentional - there's plenty of stories of some hapless assistant entering a phone number wrong by one digit, and someone's life is made a misery.

Cheers,
Wol

From free software to liberal software

Posted Feb 2, 2017 15:26 UTC (Thu) by louie (guest, #3285) [Link]

Well, to be fair, for a long time the FSF assumed that libre code automatically meant libre people, so in practice GNU and BSD weren't that far apart. That seems to no longer be the case, which is good.

Right To Serve

Posted Feb 4, 2017 10:15 UTC (Sat) by Garak (guest, #99377) [Link]

I think you're missing the point on app freedom: It's not that he is naively suggesting that service providers will magically decide to open up their servers to anyone. What he is saying is that the freedom that the GPL purports to give users is meaningless because the literal "source code" is useless without those servers, [...]
But of course while this sheds light on an important bit of nuance, it is of course part of a flawed oversimplification analysis. The same source code can be useful in many different ways to many different people. Even if source code was in assembly for a processor that hasn't been available for a hundred years, that doesn't mean it might not have many different uses for many different people.
[...] or for example the source code to an AI like Siri is useless without the data sets that make it work. The infrastructure and data are "source code" to the actual service just as much as the source code itself,
Furthering the point, again, in this case, the AI would not be usable in the same manner it was/is being used by the majority of it's existing user-base. But that doesn't mean that it would necessarily be useless to everyone else (though that is conceivable, I've never used Siri myself, precisely because I see no compelling need to, though I do anticipate that one of these decades there will be a top to bottom FOSS software that does everything it does and more and I'll give it a try then. I presume that if the Siri source code was GPLd that might shave days if not years off of that timeline, which I consider a worthwhile win for FOSS.
and without considering that, there is no actual freedom provided by the GPL.
Let's go over the obvious basics. Agent Smith tells Neo "What good is a phone call if you don't have a mouth to speak?". What good is Freedom of Speech or Freedom of Religion if you can't afford to not starve to death in society? What good is a copy of software that took thousands of person-hours to create, if you can't afford an IBM or Raspberry Pi to run it on? What good is a Raspberry Pi if you don't have access to an electrical grid? Obviously there are further fractal expansions of nuance involving corner cases- some places solar panels are more and less available and useful, and bla bla bla. But the point is that the 'value' is not measurable in the way you suggesting.
It is the programmer who thinks they are liberating users by licensing their code as GPL who are naive.
That's a bit like calling Jesus naive because he thought teaching a person to fish would liberate them from starvation. Or perhaps he was being a tad hyperbolic and understood that while learning to fish is a pretty generically useful skill, there is an aweful lot more to life than that.

https://lwn.net/Articles/657561/
http://apps.fcc.gov/ecfs/document/view?id=7522219498
http://cloudsession.com/dawg/downloads/misc/kag-draft-k121024.pdf
https://www.wired.com/2013/07/google-neutrality/
http://www.seattletimes.com/business/google-accused-of-betraying-its-net-neutrality-stance/ (some facts wrong in article)
http://arstechnica.com/information-technology/2013/10/google-fiber-now-explicitly-permits-home-servers/

Where do the grains come from?

Posted Jan 27, 2017 9:18 UTC (Fri) by ber (subscriber, #2142) [Link]

While Lefkowitz observes "good" lithification, the article misses to mention where he thinks the grains come from.

On the same hand as big units are coming into perception, the creation of software products in some communities goes towards handling many, increasingly smaller, dependencies. (Recently I've developed a web-app and just setting up the basic version brought in about 500 version tracked javascript "libraries"). How do those get improved?

Where do the grains come from?

Posted Jan 27, 2017 19:33 UTC (Fri) by pkturner (subscriber, #2809) [Link]

Actually, in the video (at 24:15) he mentions a regular development pattern which occurred with Haskell projects, in which his code would at first pull in (recursively) dependencies on hundreds of library modules. He would extract from the direct dependencies the code for the needed functions, and incorporate that code into his project. Doing that a few times yielded a drastic reduction in the set of dependencies.

At least in this example, he was clear that the code snippets which he pasted into his project were the grains being cemented into a lithified whole.

Where do the grains come from?

Posted Jan 27, 2017 21:05 UTC (Fri) by raven667 (subscriber, #5198) [Link]

I thought he also stated that this was only appropriate if the grains of code were small, so that your development team can still handle the maintenance burden of the lithified whole, big dependencies should be embedded in the OS or treated as a separately maintained black box. So the end result is a bunch of code in your project that you didn't write but you have to maintain, but you do get to refer to the original source and merge patches as necessary on your own schedule.

From free software to liberal software

Posted Jan 27, 2017 11:13 UTC (Fri) by liam (subscriber, #84133) [Link]

Very surprised the speaker didn't mention HyperCard.
Although I've never used it, it seemed to be employed in a somewhat similar way to excel (apparently in even more diverse environments, if wikipedia is to be believed).

https://en.wikipedia.org/wiki/HyperCard#Applications

As others have mentioned, the lithification idea seems to strip oss of one of its strengths: the distinction between upstream and downstream being built-in from the beginning.
Now, i can imagine a system whereby nearly all components are teeny-tiny perfect functional gems that never need to be updated, but then i realize that it might be nice to, one day, be able to deal with text, so i move on.
The other solutions tend to look like standardized interfaces, REST, a single data exchange format.... Let's bring back CORBA!

Looking at his example, and his concern, i think the problem lies not with dependencies but with packaging and distribution. There simply isn't the same effort to put together all these nice, free software libraries, with a bit of tape and crayon, into the nearly throwaway level products that you see on an Android. I'm not trying to belittle those apps because they obviously serve some market, but much of what you see is something that can be hacked together without a great deal of effort, but then what? Why do i want a barcode reader on my laptop?
I certainly think he has pointed out a reality disconnect with how the free software community wants to work.
Sad!

From free software to liberal software

Posted Jan 27, 2017 19:50 UTC (Fri) by karim (subscriber, #114) [Link]

Sorry, I fail to see his point. Furthermore, reading Google Trends numbers is not straight-forward. It isn't necessarily a measure interest through time. I don't google for things I'm interested in. I google for things I need to learn about. That's not the same thing. I've been using Linux for >20 years. I'm still very interested in it. But I never google for "Linux" or even some string with "Linux", but that's just too generic now to be of any use to my queries.

Aside from that, his point about "liberal" software is not at all clear to me. Or I'm just not smart enough, which is also possible.

From free software to liberal software

Posted Jan 28, 2017 18:38 UTC (Sat) by k8to (subscriber, #15413) [Link]

No one googles for air anymore. Clearly it's becoming less important.

Googling for air

Posted Jan 28, 2017 18:51 UTC (Sat) by corbet (editor, #1) [Link]

Google trends for "air" shows steady or slightly increasing interest, with a bit of a peak some months ago...:)

From free software to liberal software

Posted Feb 1, 2017 13:17 UTC (Wed) by mirabilos (subscriber, #84359) [Link]

Well Butler Lampson is wrong, cf. https://sobersecurity.blogspot.de/2017/01/looks-like-you-... (which I incidentally got from LWN not long ago)


Copyright © 2017, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds