parent
f3c974791a
commit
30edd62455
94
talk.tex
94
talk.tex
|
@ -629,13 +629,11 @@
|
|||
\emph{user} of software.}
|
||||
|
||||
\item Huge number of libraries and tools for web development
|
||||
\lecture{Because of all the reasons I mentioned,
|
||||
the number of libraries focused on web development is crazy,
|
||||
and steadily growing. You can have working software running
|
||||
on most every modern operating system quickly and relatively
|
||||
easily. And most of these popular libraries are free
|
||||
software. The most daunting task for new web developers is
|
||||
often what library to pick.}
|
||||
\lecture{Because of all those reasons, the number of libraries focused
|
||||
on web development is crazy, and steadily growing. And most
|
||||
of these popular libraries are free software. The most
|
||||
daunting task for new web developers is often what library to
|
||||
pick.}
|
||||
|
||||
\item Even server/desktop software [substitutes] using web libraries
|
||||
\lecture{And then we have software like Node.js that allows running
|
||||
|
@ -667,8 +665,8 @@
|
|||
|
||||
\begin{frame}{Effortless \emph{Proprietary} Software}
|
||||
\lecture{While it's making software easy for the good guys, it's also
|
||||
making it easy for the bad guys! And there's an explanation for
|
||||
that.}
|
||||
making it easy for the bad guys! And there's an easy explanation
|
||||
for that.}
|
||||
|
||||
\begin{itemize}
|
||||
\item<1-> We have a licensing problem.
|
||||
|
@ -676,7 +674,7 @@
|
|||
free software,}
|
||||
|
||||
\item<2-> Permissive licensing \emph{enables} proprietary software
|
||||
\lecture{but most of it is licensed under a permissive license---one
|
||||
\lecture{but most of it is licensed under permissive licenses---one
|
||||
of the most popular being the MIT~Expat license, which allows
|
||||
for non-free derivatives. What this means is that
|
||||
proprietary software authors have a relatively easy time
|
||||
|
@ -738,11 +736,9 @@
|
|||
easy. Don't open source~[sic] anything that represents core business
|
||||
value.''
|
||||
\end{quote}
|
||||
\lecture{But what about the stuff that is truly innovative and valuable
|
||||
enough that you consider it a core part of your business?
|
||||
The stuff that the free software community needs to compete
|
||||
with this ever-growing proprietary world? You keep it
|
||||
hidden. And you suggest that others do the same.}
|
||||
\lecture{But what about the stuff that the free software community needs
|
||||
to compete with this ever-growing proprietary world? You
|
||||
keep it hidden. And you suggest that others do the same.}
|
||||
}
|
||||
\end{frame}
|
||||
|
||||
|
@ -753,33 +749,32 @@
|
|||
take a look at the community, we can see why:}
|
||||
|
||||
\begin{itemize}
|
||||
\item<2-> Startups (e.g. YCombinator-funded)
|
||||
\lecture{There are a lot of startups. Most new software startups
|
||||
today are going to have some sort of online component. As
|
||||
has already been discussed, the web is an attractive
|
||||
platform, and an easy way to create lock-in---something that
|
||||
many misguided startups and funders will consider to be vital
|
||||
to their long-term success. For this to happen---for these
|
||||
young startups to be able to get software out cheaply and
|
||||
quickly with limited resources---they need free software. So
|
||||
there is immense community pressure to create permissively
|
||||
licensed software.}
|
||||
\item<1-> Startups (e.g. YCombinator-funded)
|
||||
\lecture{There are a lot of startups, and they recognize the Web as an
|
||||
easy way to create lock-in---something that many misguided
|
||||
startups and funders will consider to be vital to their
|
||||
long-term success.}
|
||||
|
||||
\item<2-> New programmers, new culture
|
||||
\lecture{And speaking of that community pressure---the web development
|
||||
community is home to many new or inexperienced
|
||||
programmers. Those programmers are immersed in a culture that
|
||||
talks about ``rockstar'' and ``10x'' programmers; about
|
||||
``brogrammers'' and ``hipster'' languages---these are very
|
||||
different terms than hackers are used to, and highlight very
|
||||
different concepts.}
|
||||
\item <1-> Large corporations
|
||||
\lecture{The Web is carried and advanced (tehcnologically) by large
|
||||
and influential corporations like Google, Facebook, Twitter,
|
||||
GitHub, and others. All of them contribute to the free
|
||||
software community. But all of them rob us of our freedoms.}
|
||||
|
||||
\item<1-> New programmers, new culture
|
||||
\lecture{The web development community is home to many new or
|
||||
inexperienced programmers. Those programmers are immersed in
|
||||
a culture that talks about ``rockstar'' and ``10x''
|
||||
programmers; about ``brogrammers'' and ``hipster''
|
||||
languages---these are very different terms than hackers are
|
||||
used to, and highlight very different concepts.}
|
||||
\begin{itemize}
|
||||
\item<3-> ``Open Source''
|
||||
\item<2-> ``Open Source''
|
||||
\lecture{Importantly, they focus on
|
||||
\emph{methodology}---performance, producing something
|
||||
that is cool and will be accepted by your peers. This is
|
||||
not a focus on freedom.}
|
||||
\item<3-> ``Copyleft'' is a dirty word
|
||||
\item<2-> ``Copyleft'' is a dirty word
|
||||
\lecture{``Copyleft'' is a dirty word: if you want to be accepted
|
||||
by your peers, you'd better license your libraries
|
||||
permissively. If you don't, someone's either going to
|
||||
|
@ -789,7 +784,7 @@
|
|||
shunned.}
|
||||
\end{itemize}
|
||||
|
||||
\item<4-> Peer pressure
|
||||
\item<3-> Peer pressure
|
||||
\lecture{And besides, all your friends are doing it, and they're all
|
||||
10x rockstars!}
|
||||
\end{itemize}
|
||||
|
@ -808,7 +803,8 @@
|
|||
fighting copyleft, without actually bringing up the issue,
|
||||
thereby creating a large community that works against
|
||||
copyleft without actually \emph{thinking} about
|
||||
copyleft. This is very dangerous.}
|
||||
copyleft. This is very dangerous, and this is the culture
|
||||
driving the web.}
|
||||
\end{center}
|
||||
|
||||
\lecture{And as of last month, we even have a term describing this broad
|
||||
|
@ -953,9 +949,8 @@
|
|||
\end{center}
|
||||
|
||||
\lecture{All this focus on copyleft is good and all---if only it were the
|
||||
solution to all of our problems. But we have a whole Web of
|
||||
problems to deal with. Freedom is only as good as your ability
|
||||
to exercise it.}
|
||||
solution to all of our problems. Freedom is only as good as your
|
||||
ability to exercise it.}
|
||||
\end{frame}
|
||||
|
||||
|
||||
|
@ -975,7 +970,6 @@
|
|||
\item But is all of it free?
|
||||
\begin{itemize}
|
||||
\item Certain things may look free, or have free components
|
||||
(e.g. the ubiquitous jQuery)
|
||||
\lecture{But how do we know that a program is fully free? Let's
|
||||
draw a comparison with traditional binaries. How do you
|
||||
know it's fully free? Well, you rely in part on
|
||||
|
@ -1000,13 +994,7 @@
|
|||
\item<1-> Where can I find the corresponding source?
|
||||
\lecture{The other requirement is the corresponding source code. We
|
||||
should be able to build it ourselves, host it ourselves, and
|
||||
expect to have the same functionality. And we should be able
|
||||
to audit the distributed code and correlate it with the
|
||||
original sources. And guess what---I found a small amount of
|
||||
non-free code missing from the Reddit repository. Very
|
||||
small, and it just screws with the user by moving elements
|
||||
around the page if they have some cursed flag set, but
|
||||
non-free nonetheless.}
|
||||
expect to have the same functionality.}
|
||||
|
||||
\item<2-> Minified code is not source code!
|
||||
\lecture{I have personally had people counter my argument in the past
|
||||
|
@ -1041,9 +1029,11 @@ a.addEventListener&&a.addEventListener(o,g)),l.add&&(l.add.call(a,k),
|
|||
k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k)
|
||||
:m.push(k),n.event.global[o]=!0)}}
|
||||
\end{verbatim}
|
||||
\lecture{This is a snippet of jQuery's minified sources for an 'add'
|
||||
method. Real quick---what do each of those arguments mean? What
|
||||
does this function do?}
|
||||
\lecture{This is an example of minified code---a snippet of jQuery's
|
||||
minified sources for an 'add' method. Real quick---what do each
|
||||
of those arguments mean? What does this function do?
|
||||
Minification is used even with free software for performance
|
||||
reasons---smaller file sizes, smaller load times.}
|
||||
\end{frame}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue