[Talkmeister] Next, we will have zack presenting
"Debian in the Dark Ages of Free Software"
Can you hear me?
Better.
So, hello everyone.
Welcome again to DebConf, I guess.
It's a great pleasure to be back again
at one DebConf
and a great honor to be doing one
of the opening talks.
I confess I wasn't really expecting
that honor.
I just wanted to propose a session
which was supposed to be
a self held session
for those of us that think there are
some worries
about where the free software is going
in general.
And the role that distributions have to play
in the current state of affairs.
So this talk will be about a couple of
journeys at once.
The first journey is a journey
through emotions,
through good feelings about what
we have achieved in Free Software
over the past 15 to 20 or 30 years
depending on how long you've been
involved.
The second journey is essentially
my own journey
through software freedom
from the day I started discovering
Free Software
and what I've ended up doing since then.
Starting with the positive news.
This is how I got involved myself
in free software in 1997.
I understand that there are people
in the room
who have been involved
since way earlier than that,
others that have been involved
since way later than that.
Well, that's my story.
I hope you'll find ??? points
with your own story.
When I started as a freshman in a computer
science class at university of Bologna,
that was a huge tiping point,
a huge hype point for the so-called
opensource movement.
That was the year the very influencial
essay by Eric Raymond has been published.
That was the year that Netscape decided to
opensource its own code.
That was the moment in the history of
free software
when people were trying to sell
to the industry
what free software was doing, and
I'm not using that word in a bad sense.
There was reasonable concern that
without involvement of the industry,
the free software movement wouldn't have
got far.
So they were trying to tell about free
software in an industry-friendly way.
Essentially, the rhetoric at the point
was that
if you do development of software
in the free software way,
in a more open way,
a more participative way,
you will end up having better software
and that by merely opening up you code
you'll have these flocks of programmers
coming to you project and end up helping you.
A few years later, I realised that
I personally didn't believe much in that idea:
it's only because your software is open
that it's gonna be better,
but it was a fair thing to try
at the time.
What I discovered a bit later is actually
what stuck in me
was essentially the philosophy
of free software.
The fact that computer user should be
in charge and in control of their own machine,
that should have some basic freedom.
You know about the 4 freedoms,
I'm not going to repeat them here,
but my personal point is that
the narrative of free software is something
that resonated with me a lot at the time.
As a student, I realised that by having
free software at my fingertip
as a computer science student,
I could debug any single layer
of the software stack
and look at how things are going.
I didn't have to trust the teacher on how
an operating system should be developed.
I was able to open up sched.c in
the linux kernel and have a look
at the actual scheduling algorithm that
was being implemented in the real kernel.
Not that I really got all of it at the time
but the possibility was just breathtaking
for me.
Later on, I ended up distilling
the main intuition of free software,
which is the one I used to explain
free software to people,
which is intuition of control.
So, I ended up believing that the main
reason why I've been involved in this movement
for about fifteen years is that I really believe
that every single computer user,
and that's a lot of people these days,
should be in control over
their own computations.
Everything you're doing with a device
which is mediated via software
is controled by someone,
either it is you or it is someone else.
And the best episode, the best narrative
to explain that to people
that they've been using for quite a while
is this passage
from the novel "Makers" by Cory Doctorow
which is a bit long so I'm not gonna read it in detail,
but essentially there is one character
of the novel which is Lester
which is explaining to another character
the importance of controling
your own devices, your own tools.
The first example he takes is the example
of a hammer,
a physical hammer,
and he goes on saying that if you own
a hammer,
essentially you could do
whatever you want with it.
You can use it for its main purpose,
or you can use it for something
completely different
which was not meant to be its original
purpose but it's you that decide.
He compares that another device
which is the "Disney in a box" in the novel
and Disney in this book is the big evil
villain which is oppressing people
and essentially Disney in a box is a
glorified 3D printer that can only print
what Disney wants it to print for that day.
One day, it will print a Goofy character,
another day it will print Donald Duck,
but it's not you who decides.
It's Disney that decides what the printer
is gonna print for you that day.
You own the device but you are
not in control of what the device does.
The big quote for me is that if you don't
control your life, you're miserable.
This notion of oppression is what has
been motivating me for all these years.
So the fact that if you are not in control
of your own computation,
then someone is oppressing you.
Someone usually is the person or the company
or whatever that has created the software,
that has the power to change that software
instead of you.
This is something that really ??? in me.
What was I doing at the time
with my computer?
Well I was doing pretty standard stuff.
I was using some hardware we had at the time
which was mostly desktops and
local network servers.
I didn't have a laptop because
it was really expensive for a student
so I did get a laptop much later.
I was doing some content production,
some content consumption.
The kind of content I did produce
at the time was mostly
office suites, desktop publishing
and this kind of stuffs.
I was doing some communication, some email,
some IRC, some newsgroup
which was really cool at the time
for geek communities.
And I was doing some software development
as a newbie
but it was what I was doing at the time.
I also did some content consumption,
some gaming
which are arguably some content that
someone else is producing for you to consume.
I was doing some web browsing.
Internet was not as popular as it is today,
but there were some websites
you could find interesting.
In that situation,
with this kind of computing,
the actual path to software freedom
and to control was fairly clear.
It was difficult, but it was fairly clear
to me as a new activist in free software.
What I should have done, what we all should
have done to actually liberate people
from the oppression of people controling
our own computation.
The idea is that while you have
a lot of pieces of proprietary software
which you do not control, what you need
to do is to replace
every such a component of proprietary
software with a free software equivalent.
Using some local application, some game,
we need to replace it
with an equivalent free game.
We were using some client-server software,
some mail ???, some mail client,
some mail server, some IRC client,
some IRC server.
What we needed to do to actually empower
people and liberate people was to rewrite
those pieces of software with free software equivalents.
It was difficult, because it was a lot of stuff
to be rewritten, but it was fairly clear.
The plan was clear.
And also, luckily, we also had, at the time,
all the heavy lifting was already in place.
The GNU project existed since
quite a while,
the Linux kernel existed already
and it was working.
So someone else with shoulders larger
than I had at the time
had already done a lot of work for me and me
and together with other free software activists,
what I had to focus on was to rewrite
proprietary application into equivalent
free software application, possibly better.
That was clear, was hard,
but it was fairly clear.
That's where, I think, the notion
of a free software project comes from.
We use very often this term of free
software project and I never ended up
really thinking about that before a few
years ago and I think the reason why
we call it free software project is that
there is an objective.
So there is a mission,
ideally a time-limited one,
and that mission is writing a replacement
for a proprietary application using
free software which is as good,
possibly better than the original.
Having a lot of free software projects
around gives rise to a lot of releases.
So what we were doing a lot at the time
in the 90s
was to actually manually install
software on our own machines.
To be fair, our lab was running
some Red Hat machines.
At the time there weren't that
many packages available and
we had to fairly often install stuff
by hand on the lab machines
in our own directories and also
on our computers at home.
This is a procedure you all know very well.
You download a tarball, you run "configure",
you run "make", you run "make install".
The first time I saw that, it was kind of
a magical recipe for me.
Just follow these steps and you will get
some software to play with.
Well, except that every single step
could fail, of course.
Let's keep aside for the moment the fact
that the website might be down but,
you run "configure" and you miss some software
you need to fetch from somewhere else.
You run "make", you encounter some
compilation problem.
You run "make install", maybe the path
will clash and so on and so forth.
The problem with this procedure for
installing software we are using by hand
is that you are essentially
conflicting roles.
You're mixing together the role of
software user,
the role of system administrator
and the role of software developper.
You need to have a little bit of all those skills
together to be able to enjoy software.
In a sense, a free software which works
like this is essentially a very elistist thing.
It's only an elite which have
all the needed skills who is able to enjoy
the benefits of free software and is able
to be in control of their own computation.
This is essentially the reason why distributions
much earlier had been invented.
We all know very well here
what distributions do,
they sit in between software developpers
and software users and make it easy for you
to actually use that software.
We do installer work, we create installers,
we create package managers,
we do all the integration work that make
different pieces of software work well together.
We actually make life easy for final users.
So, for me, something that I started believing
is that the ultimate mission of free software
distributions is to actually democratize
free software, to enable users
which do not have software development skills
or do not have system administration skills,
enable them to enjoy the benefit
of free software.
We offer very simple interface,
we offer the equivalent of what these days
are called appstores in which
with one click, you can just install
some software and
enjoy the benefit of that software,
in particular a free software.
This is for me the historical mission
of distributions.
Later on, in 1998, our lab decided
to switch to Debian
and I was really happy about that.
We switch from Red Hat to Debian and
I look out about this project,
I start learning what this project does
and I find out that not only
this project Debian was actually up to
the mission of empowering user
by making it easy for users
to use free software.
If you read the original announcement of
Ian Murdock announcing the Debian project,
we'll find this notion of being competitive
with proprietary operating systems
and it's really clear that the point is
empowering users.
I end up reading about this project and
not only I found out that their mission
they're up to is the mission I believe in,
but I found out that the key intuition there
is to make the project a community project.
Not only the target are the users
and empowering them,
but also the way to reach that objective
is creating, fostering a community
that will work together to that goal.
I got immediately hooked,
I vividly remember the moment
a collegue of mine, a student
explained to me the anatomy of
a Debian source package,
the fact that it was a .orig.tar.gz,
the fact that it was a diff.gz
with the differences with respect to upstream,
and all those metadata
that was really thrilling for me
from a technical point of view.
A few years later, I ended up joining
the nm-process.
I was doing some OCaml development
at the time, there were some libraries,
OCaml libraries in Debian, others were
missing and I said
"Ok, maybe I should help and create
some libraries for the project as well".
I went through nm and there are a few things
I've learned doing nm
and also in the subsequent ten years
or fifteen years or so.
One thing I've learned in all these years in
Debian is the importance of being principled.
Debian is a project that did not start
from only technical means
but also decided at some point that
they needed some guidance,
some clear guidance of what it should do
technically and what it shouldn't.
And an important document where we have
distilled this notion are the DFSG.
The Debian Free Software Guidance
which has been very influencial
on the free software movement as a whole.
They've been used as a base for
the open source definition as you know,
and what was very thrilling for me
is that commitment we had in Debian
in keeping the main archive completely
DFSG-free, keeping it completely free software.
This commitment is depicted here
by those fearsome character
and his owner on a couch and it's mediating
and triggering the NEW queue, supposedly,
and the NEW queue is not necessarily
the best way we could implement
a system which triage all the software
in the archive and to ensure it's DFSG-free
but it shows our commitment to actually
only follow the guidance we have set for ourselves.
It was really motivating for me.
The second thing I've learned and which
will come handy in a bit,
is the importance of the legal knowledge
and legal geeks in the free software movement.
Like it or not, free software as an ideal
is philosophical mean,
but its main implementation is through the
legal system, is through copyright licenses.
To really grok what's happening
in free software in general,
to understand where the free software
movement is going, figuring out and
really understand what's going on
in the legal system is very important.
In Debian, we know that pretty well,
that's a stumbling block for many people
when joining the Debian project.
It's something we insist people are at least
basically familiar with and
that's pretty characteristic
of the Debian project.
In the end, what I've learned is that
in this quest that I feel very much myself
against the oppression of someone else
controling your own computation,
law, if you hack around it smartly,
can be a very useful ally,
a very useful device to liberate users.
Time passes − there was supposed to be an
image here, which for some reason disappeared.
And, we might argue that, these days,
we have achieved a lot since that moment.
If I look around the industry or, in general,
if I look around computing
as people are doing that,
free software is a little bit everywhere.
In the industry, there are some stats
that claim that essentially
every single software product you find
on the market has, inside of it,
a little bit of free software code.
If you look at all the different application
stacks we have
from webservers to education to clients
to smartphones,
you find a lot of free software, free software
infrastructures that are everywhere.
So these are just some stats I figure out
in the recent years
and for instance if we look at one of the
key target market for Debian ???
we'll find out one website over ten
on the Internet in general is running Debian.
If we include also some of our most
popular derivatives such as Ubuntu,
we'll find that more than 20%
of the websites
are running something which comes
from our own work.
And some of the recent hype on free software
is coming from the Snowden revelation
and most people are starting to be concerned
about what the software they're using is doing
and is turning to free software and is turning
to stuff like Tails which is heavily Debian-based
to actually see in which way we can
help them foster their own security.
In some sense, we have achieved a lot.
In everything we do in computing,
there is a little bit of what we have done
in free software and also a little bit
of what we have done in Debian.
This is pretty impressive for me.
We're in a place where I wouldn't have
dreamed being when I started in 1997.
That's very impressive.
On the other hand, there are some reasons
of concerns
and this is the main thought
I wanted to share with you.
There are some technical reasons which
we discuss often in free software circles
like the fact that "Ok but most of these
platforms are not 100% free software".
If you look at smartphones for instance,
you will find a lot of non free code every here
and there and the point can be made that
either you have full control over
your own computation,
or you are not in control at all,
because if your software stack has a single layer
which is controlled by someone else,
and is mediating all your communication,
maybe you're not so sure
that you are the real owner and
the real controller for your own device.
That's a absolutely fair point.
We can make some more technical points
about for instance non free JavaScript.
More and more of our computations are
happening in our browsers
and are happening through code which is
delivered to our browser
by remote servers and this code
is not free at all.
I absolutely agree with that but the point
I want to focus on today is actually
what we call the cloud.
All my images are gone.
You had a very nice image there, sorry.
The remaining point and my main reason of
concern is what is being called the cloud.
Let allow me to be a bit generic here
for a moment.
I know there are very different parts
in what we call the cloud
and will be specific in all of them
in a bit.
But for now I want to focus on the
common trend that
the cloud is bringing to computing
these days.
Computing today, for most people, is not
much different from the kind of computing
I was doing fifteen years ago.
That's the kind of computing that we do
on very different hardware,
we have way more smartphones, way more
tablets than in the past and that's true.
But the kind of activities we do − producing
content, consuming content − is very similar.
The big difference is the kind of
technological stack we're using
and where the computations are happening.
For most people today, the kind of
office suites we use is no longer
a software which is installed on
your machine but it is Google Docs.
I'm an academic myself, I'm very often
forced to use some Google Docs applications
to work with others, otherwise I'm free
not to work with them,
because it's a technological choice
made by someone else.
For many people, e-mail, as you know,
just means GMail.
All our e-mails, even if your not
using GMail ourselves,
are passing through some GMail servers.
Asynchronous communications still exist,
but it is very often mediated
to software like Skype or GTalk.
And so on and so forth.
You have seen this list very often.
Consuming content, there as well,
we are still doing gaming,
we are still doing browsing but it's often
mediated by platforms
which are far away from us and just stream
content to us or,
in the specific case of web browsing,
they are more and more often hosted
by very few hosters in the world − which
we often refer to a walled garden −
that can do whatever they want
with our content.
The point here is not demonizing
those services.
People are using those services because
they are convenient and
there is a lot of network effect going on
that makes it easy for other people
to start using those services.
It's really not the point of demonizing
those services.
The point here is observing that interesting
computations that we are doing
as our job, as our life,
are no longer happening on our machines,
but are happening on other machines
which are far away from us and which
are not under our direct control.
In this context, for me, I confess, what
actually is the road to software freedom
and to control, to enable people
to control their own computation
is no longer clear.
It's no longer enough to say
"Well, we just need to rewrite
Google or Facebook or Twitter
in free software".
That's not enough, because even
if you do that, you have the problem
that when you are using a server
you don't know if the code it is running
is the one they claim it is running, so
that's a very difficult problem to solve.
And even if it were the case,
where do you deploy yourself
a Google-like architecture,
or a Facebook-like architecture?
You simply can't.
It is no longer enough to just say
"We just need to do
some software development,
we just need to make it better
than the alternative."
There is a real tricky combination between
software development
and software deployment which
not easy to see how to fix it.
At least for me, it's very ???
So, what about distros?
We are distro people, doing one
of the most popular distros in existence.
Are we winning or are we losing
in this situation?
How are we doing in terms of our efforts?
In a sense, we are very much winning.
A lot of our work is being used
to deploy those infrastructures.
A lot of the infrastructure
of the big companies are deploying
on top of free software, if not direct
on top of our very own systems,
maybe modified here and there where
they need to make things better
as it is their own right
given it's all free software.
In that sense, we're winning.
We're increasing market share,
??? are being used a lot
to make infrastructure.
But we are also losing in the sense that
we are really not empowering users
to be in control of
their own computations.
If our final users are the sysadmin
that are running those infrastructures,
for them we are doing great.
We are making them be sure
they are in control
of their own infrastructure.
But for the final users of those services,
we are really not empowering them
at the moment.
So what I call the free software dark ages,
which is an expression I actually borrowed
from Bradley Kuhn and I find it quite inspiring,
is a situation in which we win
on the end user market
so every single device out there
in the hand of people − desktop,
laptop, even smartphones where right now
we are not doing very well −
all of this is running free software.
All of that is running Debian.
So, total world domination as
we were talking about a long time ago.
But all interesting computations,
all the final user application
which is being used to bring on
with your digital life,
are no longer happening on your devices,
happening far away from you
on computer you do not control,
sometime with free software,
sometime with non free software.
But in any case, outside
of your own control.
In a sense, this is very worrysome for me
because we have this euphoria of saying
we are very popular.
We are winning the war − we were using a lot
of this war-like terminology when I started.
But the war we are winning seems to become
increasingly pointless
because it's not being useful to actually
empower users to be in control
of their own computation.
To make things worse, there seems to be
some cultural problems that might be
just a perception of mind, maybe I'm being
too pessimistic, but it seems to me that,
as developper communities,
as hacker communities,
we are becoming way more lenient,
way more lax
about the lack of control on the tools and
on infrastructure we use
to make free software.
More and more often we see free software
developed on non-free infrastructure,
meaning infrastructures which are built
using non-free software
and which are anyhow centralized
in the hand of a few hosters.
The new generation of developpers
which is coming up
seems to be totally fine with that.
I'm not gonna argue this point in much detail,
there is a great essay by Mako
that I encourage all of you to read,
"Free software needs free tools",
which actually make couple of points.
One is that by using non-free software
to make free software,
we are sending out a very bad message.
We are telling to the world that
free software is good for you,
that's why we are developing it,
but it's not good for us
because we are using non-free tools
to make it.
That's the kind of "catch 22"
in our advertising message,
but it's also making the software
we are creating indirectly less free,
because if the favorite way to contribute
to that free software
is using some non free infrastructure,
some non free tools,
indirectly we're making people
that only want to use free software
less apt to contribute to that software.
So I really recommend reading that essay.
But also technically, we are going back
to a sort of a cage problem,
which is also a problem which is called
"the problem of the bug that noone can fix"
by the FSF I think, and essentially
we're creating software stacks
in which some part of it is entirely
free software, that we can debug
and some other parts are non free software
or software run by someone else,
so we have lost the ability to debug
the full stack.
When I was starting to learn programming,
this idea that I could debug everything
from the end user I was writing myself
for an assignment
down to the kernel level
was just exciting for me.
We seem to be losing sight of this,
a little bit.
As a second cultural problem,
we seem to be losing sight of
how much help we could get from
the legal system
and from new legal solution that
we might be in need of finding.
An example of that is the post open
source software "POSS" debate
which some of you might have run into.
That's a debate which actually observes
that the new generation of
free software developpers actually
don't care about licenses.
They just want to kick out their code,
just put it on GitHub,
not declaring their license at all
and they're just fine with that.
They want to be ??? to have
the hassle of deciding first of all a license,
second of all also some governance
model for their projects.
They just want to be hacking and doing,
and not caring about those annoying details.
This could be intervetedly interpreted
in positive ways like says that
we want the right to work on the code and
to do whatever we want with that by default.
We do not want to be expliciting
which kind of rights we give and
that's a very positive interpretation
of this phenomenon.
But in the end, for now, it is creating
a huge bunch of code that
we could not use as free software yet.
For instance we cannot include in Debian
something that does not have a license at all.
A second example is the debate about
the non-freeness of AGPL.
If you look up the history of free software,
there is argument that GPL itself is not free.
It's an argument that was being used
twenty years ago
when the battle between copyleft and
liberalizing was very high, was very harsh.
And it's just recurring again.
So maybe for some syntactically
interpretation of our own guidance,
we could make the point that something
like the AGPL is non-free, maybe.
But the point is that the way we distribute
software to final users is really changing.
Twenty years ago or fifteen years ago,
the main way to enable some user to use
a piece of software was actually to make
a copy of that software and
give it to him or to her via the network
or some media.
And all those conveying,
that kind of conveying software is clearly
distribution and that kind of activity used
to trigger some sort of license clauses.
These days, a software is no longer
distributed that way, in large parts.
It's being used over the net and something
like the AGPL is the equivalent of triggering
some licensing condition via the main way
of distributing,
of giving access to some software.
I want to enter in details in this debate.
Those are just examples, for me they are
examples of the fact that
we are kind of losing faith in how much
the legal system and free software
are intertwined.
And this actually mixes very badly
with the situation in which
users are losing control because those
computations are moving away from them.
I think this situation, in general,
is not going to fix themselves
and we, as distribution people,
have a role to play in fixing it.
What could be a role for Debian in all this
computing situation we have these days.
The common trend in the so called cloud
seems to be that computations
are moving away from user devices.
We cannot just say
"Well just don't use anything cloudy",
because it is convenient, people will want
to use that.
We need to do something different.
As distribution people, we could do a lot,
I think, and I have a couple of thoughts
to share with you that are different
depending on the so called service model
of the cloud.
One of the first service model of the cloud
you might have heard about is
"Infrastructure as a Service" (IaaS) where
essentially you have servers that
give virtual machines to people and
essentially you get to administer
your own machine which is a virtual machine
on a virtual machine server
controlled by someone else.
This is potentially very good for people
because it is lowering the barrier
you need to have your own server.
When I first set up my own server
with friends, at the end of the 90's,
we had to buy some machine, to find
someone kind enough to host it,
pay the hosting fees and so on
and so forth.
It was something that was by far not at all
accessible to the random user.
These days, a lot of people can simply go
to some virtual machine provider, rent
a virtual machine with one-click button and
they have their own machine to administer.
Maybe they don't have the skill to
administer it, that's a different problem,
but you are definitely lowering the barrier
to access, to have you own server
and do your own remote computation.
As Debian, we are doing pretty well
in this area, I think.
We're offering technology like OpenStack
and other competitors of OpenStack,
which seems to be the market leader on
that market which are entirely free software.
But I think we should be investing more in
offering a trivial deployment experience
for Debian users.
We should make trivial for people
to have their own virtual machine servers.
If they are not computer geeks, they should
be able to flock together friends
which have system administration ability
and have their own local IaaS
and have their own virtual machine without
having to rely on big hosters provided
virtual machines to everyone in the world.
This is a great step to our autonomy.
As Debian, what is the best deployment
experience we can offer for people
that want to setup their own virtual
machine servers.
Then, there is another service model which
is called PaaS, "Platform as a Service".
This is a kind of service model in which
essentially you have hosters
of application engines, you develop
application targeting
specific application engine.
Sorry, application servers. You target
specific application servers.
An exemple of this is Google App Engine.
I think in some sense this service model
of the cloud is mostly orthogonal to
what we do as a distribution because either
you're using a full fledge distribution
and you do your own system administration,
or you are developping an application
for a specific application server and
you rely on someone else
to do that administration.
So, yes, I think it's mostly orthogonal
to what we do, but might also be
a symptom that there is a reject from the
application developper community,
a reject from the way they can target
distributions like Debian.
So if it is very difficult to have your own
application running properly on Debian
because we have old software, because we
change libraries, because we do not accept
multiple copies of the same libraries and
so on and so forth,
if it is too difficult for application
developpers to target Debian,
they might be more and more tempted
to target applications servers like PaaS.
So there might be something we could do
about this, here, like finding better synergies
between containerization technology,
we have some work being done in Debian,
and the way we usually develop some,
we usually maintain a distribution.
There might be something we could do
about this here.
Oh, and I didn't mention this, but I have
no specific answer to give to you,
just a train of thoughts I wanted to share
with you and what we could do
to improve the situation.
The final service model we have in the
cloud, which is I think worrysome
from the point of view of user control,
is SaaS, "Software as a Service".
There, essentially your own device,
your own computer only is thin client
and rely entirely on a remote server
to do your own computation.
We are back to the mainframe / thin client
distinction of the early days of computing
and here, there is a lot we could do,
I think, but also a lot we could not do.
Here, most of the work should come
from upstreams.
We need better free software and federated
replacement for
popular centralized proprietary applications
in which users can participate
in some kind of network by using
their own node.
This is work that should not come from
distribution itself, it should really come
from application developpers upstream.
But still, there are useful things
we could do here.
We already have a lot of building blocks.
We have stuff like Owncloud, Git-annex,
mediagoblin, pump.io, Yacy.
We have a lot of good building blocks,
most of them are not yet up to par
with the centralized proprietary equivalent,
but I'm confident we could get there.
What we lack is the equivalent ease of
deployment of these services on user machines.
In some sense, if we have democratized
the installation of software twenty years ago
with distributions, these days, to face the
challenge of control of our own computation,
we need to make it as easy as using a
package manager to install
your own nodes using those applications.
Ideally, everyone in the world without
nothing more than basic computer user skills
should be able to have its own machine
at home doing some anonymous browsing,
doing some mail handling, doing web hosting,
doing storage calendar,
doing encrypted peer to peer backup,
and so and so forth.
I'm maintaining my own mail server and it is
a user ???, I struggle myself
to keep up with the need of knowledge and
of surveillance that I need to make
to my own mail server to be able to run it
properly and I get blacklisted
from time to time from providers and
it's a pain.
Something that no one without having at least
some basic system administration ability
could do properly.
This is the thing we need,
the nut we need to crack.
We need to empower everyone out there
to have its own computer with
its own node of those services.
Of course, you are all thinking of
the FreedomBox now.
That's a great example of a project who
wants to tackle precisely that problem.
It's a project that's been announced by
Eben Moglen a few years ago at a Debconf
if my memory serves me well.
It's heavily based on Debian and it's doing
exactly that.
But my question from the Debian
point of view is:
maybe this project should not only be
a spin-off of Debian,
should not only be a derivative distribution
of Debian,
maybe we should think at making something
like this a first class citizen in Debian.
I don't know exactly what that means yet,
it's something we could think about
having the main administration interface
for Debian something
that targets these specific scenarios.
We could generalize that, we do not need
to target only specific plug devices
because people at home might have desktop
computers, might have media center.
They might want something like the
FreedomBox at home and
collaborate with others immediately.
My point here is that if our mission back
in the days was to
democratize free software by making it
easier to install software
on your machine, today our mission is to
democratize free software by making it
trivial to install some node of some
federation of free services on your machine.
Another thing we could do,
it is the last one for me today,
is to step in the free service debate.
When I started looking up these arguments
a few years back, I was surprised by
the fact that it's still not clear what
it does mean to be a free service.
When I started working on free software
fifteen years ago,
it was fairly clear what does
free software mean.
Sure, it was some terminology debate
between free software and open source
which still exists today,
but the basic freedoms, the basic rights
you should have to call something
free and open source was fairly clear.
That kind of intellectual debate had
already happened at the time.
Today, where the problem of computations
moving away from indivual user
is raging, there is no clear consensus
on that matter.
There is some great work, for instance
there is the Franklin Street statement on
free network service,
I think that's a full ???,
dating back to 2008, six years ago, in
which you find a lot of very useful
recommendations for users, for software
developpers and for system administrators
to make sure that you maximize your control
over your own computation on the network,
but they take no stance on what it does mean
to be a free service.
Is it enough to have something which is free,
do you need more specific license.
There are some recommendation
on that point, but still,
there are no clear answers
to this question.
There is another work by RMS in 2010
about Software as a Service or
"service as a software substitute"
as he calls it.
Here, essentially what you have is a main
recommandation about
not using Software as a Service at all.
Essentially there is a recommandation of
doing your own computation
on your own machines.
I think that might be a generally good
recommandation but it's not gonna scale,
it's not gonna be enough in my opinion
to convince people
not to use very convenient services.
Think we need more gradual and blurry
lines saying, encouraging people
to keep computation closer to them,
to rely on federation of friends of people
to do computation together.
And we, as distribution people, could
make easier for them to do so.
And then there is another work which is
"Network Services Aren't Free or Nonfree"
which is a couple of years later, still by RMS,
which essentially tries to walk the fine line
between what's the difference between
a pure service, so a service that
just for instance convey messages,
as opposed to a service which does
computation that could have been
done instead on your machine.
That's a very fine line to work, it's very
difficult to stay there and
what we might need there is a strong
opposition, actually, and we should try
to replace everything which is centralized
with federated equivalent and say that
we as free software people and distribution
people should work in that direction.
So what we could do in Debian.
Well, I think we should try to step
in this debate.
Surprisingly for me, we still have no clear
answer to what it means to be a free service
today and we have quite a bit of
experience in Debian
in leading debates in free sotfware.
We have created the DFSG which is being
used as an example for
many other communities, we have participated
in the GPLv3 discussion for instance.
Our decisions in terms of free license
are looked up by other projects.
So we might have the authority and
the reputation to step in this debate
and we also have a lot of technical
knowledge in the area.
Being a distribution commited to free software,
we know a thing or two not only about
software freedom, but also about how you
deploy software, how difficult it is
and how difficult it should be for people
to deploy free software.
So I think we are in just the sweet spot
to actually enter this debate
with the needed authority and make
a contribution to actually help people
realize what it means today
to use a free service.
The concluding question
I have for you is
"What's Debian take today
on liberating users?".
Would we be happy enough to have Debian
on every machine in the world
if people are using completely
remote services?
And if we were not, what should we do,
what should we be working on to change
that future which seems very much
the future that we have at hand.
Pictures are gone, so there was a cloud
on the left,
there was Debian here and a sun here.
LaTeX, beamer or Tikz or something
is playing tricks on me.
So that's all I have for you, I hope
I've given you some food for thoughts
for this week and if you have any question
or comments in these topics,
I'm very much happy to hear about that.
Thank's a lot.
[applause]
There seems to be a mic which is floating
around down there.
[Q] ??? quite a lot and quite brilliantly
about what cloud computing buzzwords
mean for free software, but I think what important
battle we are actually losing is ???
in the minds of people.
[Q] Why is it young developpers or
newcommers to free software
don't care about software being free?
[Q] Why don't they care about using non free
tools, why don't they care about
which license declare for their software
if any license is at all? and so on.
[Q] You mention that problem, but what do
we do about it? Do you have any ideas?
[Zack] Well, a friend of mine we asked
a similar question I think once answered
"What could they say more that
'Oh those young kids' ".
So, I don't know, maybe it's our fault,
maybe we have failed as a generation
to convey the importance that being
in control of our own computation had,
or maybe it's just that the public that
is open to coding and
hacking is much larger than in the past so
we are reaching out other communities.
It's very good for them to be coding because
I think every citizen in the world need
to have basic knowledge of coding to
understand what's happening in the world,
but maybe they just have different mission
than we had in the past.
So, very good question, I don't have
a very good answer, sorry.
[Q] Hello.
Thank you so much for the wonderful talk,
I think it's great to talk about these
political issues and I see there's a challenge
between the sort of very individual focus
of each person being able to use their own
computer as the wish which has its own values,
but there's a different sort of value that
relates to power structures in general.
So, we're talking about not just how free
is each individual person but whether
an entity like Twitter, Google or Facebook
or some these other services
is a very powerful entity that has power over
the majority of us who use their services.
And so, I wonder if and I'd like your
thoughts on thinking about it
less as a "Is this software free?" but
about "Who is in power in the community?"
and so in a democratic sense, you could have
the community that builds the tools together
as government structures or as mechanisms
for handling power that make the power
bottom-up and more democratic and maybe
that's more important than
the technical status of each
individual user.
[Zack] So, as a concerned citizen and also
as a political activist,
I very much share your concern.
I think we need to focus on what is in
reach on us as geeks in this circle
and have this kind of discussion
in a different circle.
So, as someone with activity in politics
and as a geek, I very much try
to actually explain to politicians and
to activists the role of
what we are doing here in very technical
ways and the impact that it has
on politics in general.
And I think the ??? the talk later on
this evening might have
a thing or two to say about that as well.
So from our part we need to understand it
in some sense even if
we advance a lot the status quo of user
control of technology
that we had thirty years ago.
We have also started to lag behind
many other areas.
Something that I wanted to mention before
but I fail to do so is that
when I was doing my computing in the
nineties, a lot of computations
were mediated by clearly defined
protocols.
So we had RFCs or equivalent documents
by other organisations which were like
clearly marked paths to how to collaborate
technically on the internet
and how to make software talk together.
In a sense, that culture of interoperability
of protocols has actually started lagging
behind a lot with respect
to popular technology.
So stuff like social networks, most of them
except the good ones that free software guys
try to build like pump.io or like diaspora,
well all those technologies started up
without any kind of interoperability
in mind.
So technically I think we need to push
again on the direction of interoperability
of protocols, and that's a technical
contribution that we could do that
will have an impact.
You know, code is law, as Lessig was saying,
and that would have a technical impact
on the power structures you mention.
That's my thought on this matter.
[Q] I have an answer.
Hello.
I have an answer, sort of an answer
to the previous question.
This is of course the heart of the difference
between free software and open source.
The difference between free software and
open source isn't nothing at all
and it's not about licenses.
It's about goals and aims.
Over the past decades, many of us have
chosen not to pick a fight with
open source people just for an easy life and,
you know, it's always easy to have somebody
who might share some of your goals and
to be able to collaborate with them.
But less and less is it becoming
the case that
the goals of people who are doing open
source are the same as the goals
of people doing free software.
You can see that very clearly
in the responses from people like
Google to things like the AGPL.
And there are a lot of examples.
So, one of the things that we can do
to try and bring some of
the new crop of developpers along with us
is to actually make it
a bit more of a fuss about…
You know, let's not come ??? all Stallman
about that,
Stallman is not the best PR guy, but I think
Debian can do a lot better than he can
and we've probably got
a lot more credibility.
And individually, we have as well.
What we need to do is we need to explain
our vision to those new developpers
who mostly are just being, you know, they
see an open source marketing machine
and we are something different.
[Zack] Thanks.
So there's not need to be questions and
answers, so if you have comments, feel free.
[Talkmeister] I think we're running short of
time and we need to take one more question.
So maybe one last or, Stefano, one last?
[Talkmeister] We can.
Ok, one last question or comment?
[Q] Just a quick comment if I may.
You talked about federated services and
facebook and dropbox and that sort of thing.
I think maybe the issue here is less about
federated services but is about identity.
If I have my own dropbox alike and you have
your own dropbox alike,
the problem is not that the two couldn't
talk to each other,
we have no way of negotiation of identity
authentication, access kind of problem.
I think maybe part of the answer to your
question is
"Can we come up with some way of allowing
federated identity management
for people in general and just us say".
[Zack] I think this is very much related
to what I was answering before to Aaron,
in the sense "yes we could".
We have shown in the past that we can
come up with very smart protocols
that allow people to technically
interoperate over the net.
But we are coming to late for that.
Those big entities which now have the power
to attract a lot of users to them
developped before those standard
that we could have used to make
smaller entities interoperate could
have been put in place.
So yes, I agree with you, there is technical
work to be done but in some sense
we are late in doing that work and
the question now is not only
"How could we do the technical work that
allows us to have smaller entities
that interoperate for authentication or
everything else?" and also
"How do we migrate from the status quo to
the ideal world that would be possible
if those standards existed
in the first place?".
So in a sense I think we are a bit late
and we have twice the work to be done
before reaching the optimal and more
federated situation which I think
would solve the problem.
So, thanks a lot.
[applause]