afsi/slides.org

42 KiB

Adopting Free Software Ideals

Slides [6/6]

Introduction [2/2]

Spoken Intro   B_note

  • Introduction

    • Software engineer, hacker at heart.
    • Assistant GNUisance; GAC.

      • But not speaking on behalf of the GNU Project.
    • But I'm coming to you today primarily as an activist for user freedom.
  • While I am an activist, and I'll be giving advice to others like me, I'm also a user and author of free software.

    • I'd say a user foremost, since that's what I do each and every day—use free software.
    • But it took me a long time to get where I am today.
    • And it wasn't easy.
    • Us activists try to put on a straight face and paint a positive picture of everything. Neglect inconvenient truths.
    • But my not admiting to our faults, we risk setting unattainable standards that may drive others away from our movement.
    • And that's really what this talk is about—those hard problems of software freedom. The process of adopting those ideals and incorporating them into your own life. Ascribing them meaning and identity within the context of all of the other things that are important to you. And maybe then advocating for those ideals.

Ideals   B_fullframe

Run, Study, Modify, Share

Notes   B_noteNH
  • But first: what ideals am I talking about?

    • Within the context of free software, I'm referring to the four freedoms.
    • The freedom to run, study, modify, and share software with others.
    • We repeat these freedoms again and again, but what do they really mean?
    • We reject being controlled by those who write software. We believe that everyone should be free to do their own computing in a manner that they see fit. How they please. Not how someone else pleases.

Perspective [5/5]

Black Boxes   B_fullframe

Magical Black Boxes

(Computer Literacy)

Notes   B_noteNH
  • This isn't an easy concept to grasp for many people.

    • Users look at devices like magic black boxes.
    • They don't understand how the apps they use and the underlying operating system works.
    • Lack of computer literacy in our cultures.
    • An app a program, and a program is a sequence of instructions for a computer that someone else wrote. Someone else is instructing your computer what to do.

      • And since computers and devices are effectively extensions of people, they determine what we can and cannot do. How we can and cannot act. What we can and cannot see.

The First Hurdle   B_fullframe

``I love the concept of free software''

Notes   B_noteNH
  • I want to tell you something my wife told me just a few weeks ago.
  • Nurse, shoutout to helthcare professionals holding our society together during the pandemic.
  • "Love the concept of free software"

    • That's a really powerful message.
    • Of all my coworkers and interviews, I haven't heard such a direct statement from anyone in my professional circle.
    • Some people know about free software, but usually in terms of "open source".
  • Yet this nontechnical person is aware of these concepts.

    • I assume he's non-technical because he continued to lament how a system comes installed with Chrome and he isn't sure how to uninstall it.
  • This is one of the hardest parts of my activism! To try to get people to internalize our ideals and understand why the are important.

    • And yet, he's already done that. He's cleared the first major hurdle.

Unrelatable   B_fullframe

Unrelatable

Notes   B_noteNH
  • It's interesting to me how my activism was more effective through her unintentional advocacy.

    • Why is that?
    • Certainly part of it is because she was there and I wasn't.

      • The more people that can advocate on our behalf, the fewer places we have to be.
    • But there's a more fundamental reason.
  • Compare: community members and vaccine hesitancy.

    • Being able to relate culturally
    • My computing with an X200 using Libreboot and Guix System.
    • My use of Replicant and its issues
    • Not running JavaScript on webpages.

      • But I'm still able to use parts of the web despite that by privilege of my technical knowledge, something that your average user cannot do.
  • The way I do my computing is unrelatable.

    • And I lament that I cannot recommend my own practices to others.

Change   B_fullframe

Many People Don't Like Change

(That Includes Me)

Notes   B_noteNH
  • Wife doesn't even use free software herself

    • Aware of the concepts.
    • Doesn't like that people have control over her computing, but doesn't like change.
    • It's not enough to change how she does her computing. Yet.
  • Compare: both of us want to be vegan, and we don't need convincing, but haven't done it after years.

    • That's how my wife thinks about software freedom.

Journeys Have A Beginning   B_fullframe

Every Journey Has A Beginning

(And Not Every Journey Has An End)

Notes   B_noteNH
  • When you've been familiar with software freedom for a long time, it's easy to forget where you came from.

    • It's like that with most things.
    • In my profession, I suffer from being unable to think like a beginner. Missing the obvious. I've become myopic.
  • But to get from A to Z is a process. It's a journey, that takes time and effort and, in the case of software freedom, completely changing how one does their computing.

    • Changing how one perceives the world.
    • How one lives their life.
    • It doesn't just happen.
  • Further, we're always evolving.
  • The goalposts of software freedom are always moving, as more and more things become possible.

    • It didn't used to be possible to run a free BIOS, for example. Now it is. The goal has shifted.

My Story [7/7]

My Journey   B_fullframe

The year was 1999…

Notes   B_noteNH
  • I didn't start out with free software.

    • I grew up with Windows as a kid.
    • I even started learning programming, about 20 years ago now, when I was 10, using a proprietary language—Microsoft's Visual Basic 6.
    • As a kid, I did what kids to best, which is mimic. I sought to follow the example of the world that was around me.
    • I learned to exercise control over the user. Introduce quotas. License keys. Direct the user in ways that I wanted the user to act.

Discovery   B_fullframe

A Noise and A Bubble

Notes   B_noteNH
  • But I don't have time to go into my whole life's story.
  • So how did I first discover the concept of software freedom?
  • But at some point, the laptop I was using, which was running Windows, experienced hard drive issues.

    • For those who don't know, hard drives contain spinning metal platters.
    • It started making a grinding noise.
    • I needed a way to use my system while I waited for a new hard drive, so and I found that GNU/Linux distros have bootable live CDs, which ran in memory, and so I could use without a hard drive.
  • I was fascinated by the level of customization that could be performed, and I started digging into the OS a bit more.
  • One of the games I really liked on the system was Frozen Bubble. It was a lot alike another non-free game I had played on Windows.

    • And part of what happened next may have been a little bit of luck.
    • Because a lot of games are compiled into machine code, just like on Windows, but in a different format—ELF instead of EXE.
    • But Frozen Bubble was different. When I opened the executable file, I saw source code!
    • Not minified or obfuscated source code. Actual, formatted source code with sensible function and variable names, and comments. Source code that looked like the preferred form of modifying the program.
    • I was in excited disbelief. This was so different than what I was used to on Windows. The operating system not only game with games, but came with the source code!?
    • Frozen Bubble is written in Perl, which is an interpreted language. I didn't know Perl, but I decided to try to make some small changes. Surely I was wrong. Surely I was missing something.
    • But no. I relaunched the game and there my change was! I could modify the game as I pleased! I was amazed. I felt empowered. I felt this overwhelming sense of excitement.
    • I wanted to know more. Why did the developer decide to do this?
    • At the top of a file was the copyright header. Now, I didn't know anything of software licensing at the time beyond the licenses designed to restrict users. To tell them what they cannot do.

      • But this license appeared to be different.
      • The license, its stated, was the GNU General Public License version 2, published by the Free Software Foundation.
      • It said that I'm free to redistribute it and/or modify it.
      • So it wasn't just that I could technically modify it—the author was encouraging me to do so!
    • And while my memory is a bit blurry on the details, that marked the beginning of my journey.

      • I began to look into the GNU Project and the FSF and the philosophy behind free software.

Practicality   B_fullframe

Practical Practicality

Notes   B_noteNH
  • So I had unlearning to do myself, as both a user and as a software developer.

    • I didn't have anyone to help to guide me.
    • I did have the FSF and GNU to serve as a beacon of light. As an anchor. A lighthouse, as Snowden put it.

      • It gave me something to work toward. To constantly improve upon.
      • But it didn't give me advice that was practical at the time.
      • And that's setting off alarm bells for certain people, so let me explain.
  • People often say that free software isn't practical.

    • Not just opponents, but also users who want to use free software.
    • We counter, saying we've done it. Clearly I have. Clearly this conference has. We're doing it now, as we speak.
    • But are we trying to help, begin defensive, or just bragging?
    • We have to be careful no to dismiss users' legitimate concerns.

      • I just mentioned how my computing today is not relatable, right?
      • What I consider to be practical for myself is absolutely not practical to someone without the requisite understanding.
  • Someone saying that they're already there—that they have freedom—isn't necessarly helpful

    • I know the goal. Help me get to where you are.
    • Don't just dismiss me.
  • We have to be practical about what we consider to be practical for other users, especially those less experienced than us.
  • Keep that in mind. We'll continue to explore that concept as we go.

Copyleft and Advocacy   B_fullframe

/mikegerwitz/afsi/src/branch/master/images/tp/copyleft.png

Notes   B_noteNH
  • Now, I want to pause there for a moment.

    • We touched on the ideals of software freedom previously.
    • But how is that actually enforced?
    • Software is covered by Copyright law. Copyright grants a rather long monopoloy over the ability to, well, make copies of the work. By default, software is proprietary. Non-free.
    • To grant users back the freedoms they ought to have, Richard Stallman turned copyright on its head with the concept of Copyleft. This philosophy is embodied in the GPL. The GNU General Public License.
  • Now, some developers write free software for technical reasons. This is the focus of open source.
  • But some write it for philosophical reasons. And some write it as a form of advocacy or activism.
  • What happened here?

    • What lead me to discover software freedom?
    • This program and its license. This game.
    • I can't say whether the author set out to do that. But that's what happened. Those of you writing software may never realize the true impact that you actually have.
  • And that's why the choice of license is so important.
  • Choosing the GPL isn't just about ensuring that your software remains free.

    • It's also about making a statement. Advocating for the principles and ideals of software freedom.

Barrier to Entry   B_fullframe

Barrier To Entry

Notes   B_noteNH
  • I also want to emphasize another aspect of Frozen Bubble.

    • The low barrier to entry for modification.
    • It helped demonstrate to me not just the freedom that I had, but the viability of that freedom.
    • When we think about software freedom, we shouldn't think about it just in terms of licensing. We should also consider practical freedoms. How to make the freedom to study and modify the software more available for more users.
    • That doesn't mean you have to write your software in a scripting language, though certainly that might help.
    • But it does mean being mindful to how high the barrier of entry is to your program. Be mindful to the abstractions you create.

      • Document the design and philosophy of the program and how it works.
      • Empower as many users as you can.
      • A skill that takes time to acquire.

Wifi   B_fullframe

Device Drivers

E.g. Wifi

Notes   B_noteNH
  • Alright, back to my story.
  • One of the most notorious problems when users switch to GNU/Linux is the issue of wireless drivers.
  • Back in the day I had to use a tool called ndiswrapper which was able to load Windows XP drivers on GNU/Linux. ndiswrapper is free software, but the Windows drivers were non-free.

    • Nowadays, more devices Just Work with a Linux-based system, but there's a catch—it usually works because of what we call "binary blobs" distributed with the kernel Linux. These are opaque and non-free.

      • The linux-libre project strips those blobs to provide a fully free kernel, but then many users notice their devices don't work properly.
    • Generally, the recommendation for Wifi on Linux-based systems is to use a card or dongle based on Atheros (hold it up). But that does not help you if you don't have the money to spare.

      • And so we have a bit of a problem.
    • On one hand, the wireless situation for a fully free GNU/Linux system is wonderful compared to my experience 15 years ago.

      • But that's only if you have money to spare.
      • What of people that do not?
      • What about people who wish to repurpose old hardware? Some people consider e-waste to be a major ethical issue.
      • In those cases, they may have systems that are fully free except for one exception: the wireless drivers.
  • Let's think about someone exploring free software.
  • They want to dip their toes into GNU/Linux. Surely they want to use the hardware they already have, not purchase something else just to give it a try.

    • But if they use a distribution that we recommend—me as an activist, or the FSF on their list of endorsed distributions—then their hardware may not work.
    • What do we tell this person?
    • Let's let that sit for a moment and move on. We'll be coming back to it.

Impact of Gaming   B_fullframe

Change Coupled With Addiction

Notes   B_noteNH
  • Let's talk about my desktop, where I did most of my computing.

    • Around the time that I built it, I was dual-booting Windows and GNU/Linux.
  • For those who don't know, dual booting means that, when I started by system, I had the choice of whether to boot into Windows or GNU/Linux.
  • Why? Why would I do that?

    • The simple answer is: old habits die hard.

      • It takes time to upend the computing you've done for so long. To learn new ways of doing things.
      • This process was incremental.
  • But the biggest thing keeping me booting into Windows was a game.

    • It was a very popular MMO that I'm not going to name. I was quite addicted to it at the time.
  • Games are influential.
  • I'm not even a gamer, and yet I've mentioned games twice so far.

    • How about a third: I first started programming at the age of 10 because of a game that provided a level editor; I wanted to do more than what it allowed.
  • I want to stay on this topic for a bit, because it's an important one.
  • There are a number of aspects to games beyond addiction that make them a bit different than other software.

Social Complexities

Brand Recognition and Trademarks   B_fullframe

Brand™

Notes   B_noteNH
  • Games are more than just software.
  • They're also art. And with that, we have some additional complexities.
  • It may challenging to find a free replacement for a game because of issues surrounding trademarks.

    • For example, my kids want to play certain games because they have certain characters that they recognize.
    • It's not that it's impossible to make free software to replicate some of these games—it is—but they'd be of no practical use to my children if they didn't contain the characters they want.
  • And then to further complicate things, many AAA games have budgets in the tens or even hundreds of millions of dollars and seem to me to be more like interactive movies.

    • That's something the free software community is not currently well-positioned to counter.
    • It's not that we can't, but to counter such a massive undertaking, we need more people who believe in our ideals to work toward it.

Culture   B_fullframe

Social Pressure

Notes   B_noteNH
  • There's something else too.
  • Games are something that people can gather around and enjoy together.

    • It can be ingrained in culture.
    • Getting rid of a game, or replacing it with something free, may be more challenging if all of your friends also play it.
  • We have this problem with social networks too—what good is a social network that none of your peers use?
  • I avoid a lot of these problems by breaking social norms, or simply not associating with certain people.

    • I'm okay with doing this.
    • But many people aren't. Or can't.
  • I used a vegan metaphor previously.

    • But it was a bit shallow.
    • Consider a party: you can be a vegan at a party and abstain from certain meals. Or bring your own. Kind of like I do with free software.
    • But with certain games like MMOs, or popular social networks, the software isn't just a component of a social even, it is the event—the means of communication.
    • There is no abstaining or substituting while also communicating.
    • Severing non-free software in such cases may mean severing social ties, unless there's free software that is compatible.
    • And while I've done that, and I'm okay with it, that's me.

      • We can't demand or expect that of others.
      • We need to work with people to adopt replacements, to help them move their community to another platform that respects their freedom, and then they can all enjoy freedom together.
      • Freedom shouldn't have to mean isolation from one's peers just because they don't share the same ideals.

        • Not to mention that just creates echo chambers, and also removes our voice from that community.
        • It perpetuates or even worsens the divide.

Balancing Ideals   B_fullframe

Compounding Ideals

Small Contributions Grow

Notes   B_noteNH
  • However, there are situations that I can't just escape from. Where I have to confront the unfortunate reality that I live in head-on.
  • Let's take schools for example.
  • Say you live in a district where students use non-free software or services. Which is highly likely.
  • Now, there's something you have to understand.

    • That school has already invested money into hardware, services, training of staff and students, has put data into the chosen platform, and so on.
    • Given all of that, one person voicing dissent isn't going to change all of that. It's too expensive.
  • In my case, I arrived too late to my district to voice any input on the process.

    • I did meet with assistant superintendents of the district to voice some concerns, but again, I'm just one person.
    • Why are my ideals more important than the opinions of others?
  • But what if it were different?

    • What if there were dozens of parents? Or more?
    • They could have possibly prevented this before it started.
    • They don't have to subscribe fully to our ideals. They just need to know enough to advocate for them. To care.

      • They may not care enough about freedom for themselves, but maybe they'll care for their children.
      • Kind of how we may eat whatever we please as adults, but want our children to eat healthy because it's good for them as they grow.
  • But how do we get those parents?

    • Through advocacy.
    • But what advice do we have to offer those parents?
    • Don't let your child use non-free software?
  • I put the social and emotional well-being of my children above my ideals of software freedom.

    • And I suspect that most, if not all, parents do the same.
    • But but forcing your child to participate in your activism when they're too young to understand is not doing that.

      • If they're old enough to understand and want to do so on their own, great.
      • But if they're young, like my children, then having them do things differently in class than the other kids will increase social anxiety. Decrease learning. Possibly open them to ridicule.
      • It's one thing to ask myself to be strong in that situation. It's another thing to ask my child to be.
  • And so we find ourselves in this situation that, unless we can connect with parents and offer them better guidance, they're going to just see us as extremeists, and not engage.

    • This situation will simply perpetuate.
    • And this is one of the ways non-free software is introduced to the next generation—these companies gain strongholds in schools and push their software so that students will get used to them and use them outside of school. People don't like change.
  • But imagine if we taught freedom in school. Sharing. Imagine what impact that might have on our activism and advocacy. It would be done for us, by those who know how to teach best.

Moral Judgment   B_fullframe

Moral Judgment

Notes   B_noteNH
  • Let's consider this question carefully, because it's loaded, and it's a question a lot of people ask themselves.

    • Am I a bad person for using non-free software?
  • Well, why is non-free software bad?
  • Is it the program itself?
  • When you liberate a program—make it free—the code doesn't have to change. So clearly the program itself isn't the problem.

    • What did change are the terms—the license. Copyright, and in some cases patents and trademarks, take away freedoms we would otherwise have.
    • A free software license grants those freedoms back.
    • But from whom? Who is relinquishing that power?

      • The copyright holder. Or patent or trademark holder.
      • They are the ones who can otherwise tell us what we can and cannot do.
      • They exercise their rights over us, as an instrument of power.

        • That is what's bad. The power they have over us when we use non-free software.
  • Users of non-free software, we say, are victims, not bad people.
  • But we do have to be careful with the terminology that we use.
  • People who don't hold our ideals as strongly as we do—or maybe some of you watching this now—won't be happy being called victims if they don't feel like they are.

    • Because when you call them a victim for doing something they want to do, you're implying that they have poor judgement.
  • They may not want to be labeled victims or bad people.

Hold Ideals Strong   B_fullframe

Never Dilute Your Ideals

And Take Pride In Your Progress

Notes   B_noteNH
  • There's been a theme throughout this talk.
  • We have these ideals, but there are a lot of challenges to meet them.
  • And sometimes guidance can be hard to come by, until you reach a certain point.
  • This necessarily means that, unless you find yourself in a rather remarkable position, you're going to find yourself using non-free software as you try to figure out how to do without it.

    • Despite being ideologically opposed to it.
  • And when it gets tough, it'll be tempting to justify your use of non-free software in a particular case by reframing the issue, or possibly by diluting your ideals—by saying that certain parts aren't important after all.
  • Never dilute your ideals. Never.

    • Don't make excuses when you don't meet them. Own up to it.
    • Otherwise, you risk becoming complacent, and then stagnet in your progress.
    • That's where I was at one point.
  • Instead, set your goals high, knowing that you will fail to meet them for quite some time.

    • Keep those goals strong.
    • This is what organizations like the FSF and GNU are good for—they do not leave any question as to where those ideals stand. They are unwavering.
  • And then be proud of the progress you make, however much, and the freedom that you've gained.

Conclusion

Quell Anger   B_fullframe

Anger and Cynicism Cloud Judgement

Notes   B_noteNH
  • I used to look at everyone embracing non-free software with anger and cynicism.

    • But in reality, it's just that most people don't know about these issues. Or understand why they're important to adopt them.
    • When you see schools embracing non-free software and services, advertisements non-free software, your friend or family member using a proprietary program, your employer embracing non-free services, and so on, rather than getting angry, take it as a call to action. Help them to understand.

Unless   B_fullframe

Unless

Notes   B_noteNH
  • Not all of us find it within ourselfs to be as free as, say, Richard. We all lead different lives. Under different circumstances. But what we should all strive to do is to help one another, in the spirit of freedom; not just for ourselves, but for everyone.
  • But why do we have trouble with our own freedoms? Because it's impractical?
  • Impracticality is a self-fulfilling prophecy.

    • Not at the level of an individual user, but as a society as a whole.
    • All of these issues discussed here are of humanity's own making. Non-free software isn't a law of nature. It's non-free because we allow it to be so.
    • It doesn't have to stay that way. I hope it doesn't.
    • If enough of us speak out, we can change that over time.
    • The smallest steps toward freedom add up. We don't all need to be purists. We just need to be aware, and care.
  • And since my primary job now is a Dad, I couldn't help but end it with this Dr. Seuss quote from the Lorax:

    • "Unless someone like you cares a whole awful lot, nothing is going to get better. It's not."

Questions?   B_frame

Some topic ideas:

  • Free/Libre games my children play
  • Ideals related to software freedom (SaaS, Privacy, Security, Human Rights)
  • Non-free JavaScript for online shopping, banking, etc
  • Employer using non-free software

Thank You   B_fullframe

Some ideas if there are no quesitons:

  • Free games for children
  • Ideals related to software freedom (SaaS, Privacy, Security, Huamn Rights)
  • Non-free JavaScript for shopping

    • SaaS, ephemeral software, reliance on another individual
  • Shopping for nouveau-compatible nVidia card
  • Employer using non-free software

Mike Gerwitz

mtg@gnu.org">mtg@gnu.org

mikegerwitz@mastodon.mikegerwitz.com

\bigskip

Licensed under the Creative Commons Attribution ShareAlike 4.0 International License