\chapter{Support Your Local \sout{Sheriff} \\Open-Source Software Project}

\section{The Trouble With Open Source}

As a Linux user, I'm a big fan of open-source software. All the software I use in real life (i.e., when I'm not at work) is open source. (I finally did abandon VueScan for NAPS2, as I mentioned back in issue \#4.) I don't want Microsoft or Apple or Google in my personal life at all, if I can avoid it. I'm not worried about their stealing my identity or anything like that. For the most part, they already have it. What I want to avoid is their pernicious insistence on occupying a larger and larger role in my life. Alas, that takes a bit of work these days.

Also, open-source is a difficult path to follow these days. There are always people looking to exploit this model for their own greed. As I mention in the next issue, it helps to examine a person's personal source code. 

\subsection{GitHub}

For a long time GitHub had been a central hub (hence the name) for open-source software, both projects and people. People could share their code, fork other people's projects, make pull requests,\footnote{To fork a repository is to make a copy of the software so you can make modifications or improvements. A pull request is a request for the current owner of the software to pull in your fork, and thus add your improvements and modifications to the main branch.} and manage issues. For a while there, it was a great place to be.

Then the founders sold it to Microsoft in 2018. I was content to keep using it as long as nothing changed or the changes were minimal, and they were. GitHub \textit{now} functions much like GitHub \textit{then} functioned. But at some point Microsoft added second-factor authentication (2FA) to the site. This is something my bank asks for whenever I log in (because I don't log in all that often) so I don't have an issue with the concept. You get a text message with a five- or six-digit code, you enter that code on the website and you're good to go. 

I do have an issue with GitHub asking for 2FA, though.

First, is 2FA even necessary here? \textit{Why} do I need to prove who I am just to push some changes to GitHub? What is someone else going to do? Make my code better and then push it? (Again, that's what forks and pull requests are for.) I suppose they could make it \textit{worse} and then push it. I could see that being a problem if this were Subversion, where you only get a particular branch, but when you clone something in Git, you get \textit{everything}. If someone really did mess around with my online repos, I would simply delete them, recreate them online, and then push everything back to the new repos on GitHub. This is part of the point of using Git. 2FA in this case is just a solution in search of a problem.

Second, Microsoft included the option to just get a text message, but also indicated that this would be \textit{so} much simpler if I just installed their authenticator app on my phone.\footnote{At this point, I heard Michael Palin shouting ``Now we see the violence inherent in the system!''. See \kref{https://www.youtube.com/watch?v=ZtYU87QNjPw}{https://www.youtube.com/watch?v=ZtYU87QNjPw}.} Instead of dealing with something as pesky and intrusive as a text message, I could just use their app.

This is problematic in so many ways. For one thing, once I have that app on my phone, Microsoft is now embedded in my life. It goes everywhere I go. If I have to choose between a Microsoft product or some other non-Microsoft product in the future, I am more likely to go with the Microsoft app because hey, I already have their authenticator app and so that's one less app I need to download and install, one less login I need to maintain. Microsoft is my friend, after all, looking out for me and making my life easier by providing this free app that makes 2FA so easy to manage. What a wonderful Big Brother it is!

The worst thing about this is how deceitful it is. First, Microsoft creates an artificial barrier to doing what you want to do, and then it conveniently offers you a ``free'' solution to get around that barrier.\footnote{We would be wise here to remember Doctorow's Law: In a capitalist society, if somebody gives you something for free, you are not the customer, you are the product.} And of course, that solution means that Microsoft is going everywhere you go. It's a part of your life now. You can only get rid of it with a great deal of effort. 

As an aside, my company is heavily invested in Microsoft technology, and we have to use 2FA to log into our VPN. Fortunately, they gave us the option of either using the app or using these little credit-card sized authenticator cards (they call them tokens; I'm not sure if that's the official name). But there have been rumors that the tokens will soon go away and we'll be forced to install the Microsoft authenticator app on our phones and use that. For that reason (among others) I am looking to move on from this company. If they want me to use a digital device, then they need to provide it. Why should I have to spend my increasingly dwindling resources to help them make more profit?

I don't use GitHub any more as a result. I have moved all my online repositories from there to both my own git server (located at \kref{https://git.kjodle.net/kjodle}{https://git.k\\jodle.net/kjodle}) and also to Codeberg (located at \kref{https://codeberg.org/kjodle}{https://codeberg.or\\g/kjodle}). 

So long, GitHub. It was good while it lasted, but nothing gold can stay.

\subsection{WordPress}

I started using WordPress when I created my second website at \kref{https://kjodle.net/}{https://kjodle.net/}. I was pretty excited about this blogging business, which was part of the what all the people in the education sphere called ``Web 2.0''.\footnote{See issue ``The Salad Days Are Over'' in issue \#5.}

Back in the day, I absolutely \textit{loved} WordPress. The community was warm and welcoming and I made a lot of friends. Through developing themes, child themes, and plugins, I learned a lot about HTML, CSS, and PHP, as well as the basics of MySQL databases. Alas, that \textit{official} WordPress community was only warm and welcoming as long as you agreed with all the decisions The Powers That Be are making. Dissention (or disagreement or even just plain confusion) were not tolerated. You either toe the line or you protest what you view as unnecessary changes (i.e., solutions in search of a problem) and get the boot. 

In this case, it was the ``block editor'' known as Gutenberg.\footnote{It saddens me that it was named after a person who made it possible to bring knowledge and wisdom to the masses, and now it's being used to name an utterly worthless thing that is only meant to manipulate people. More about that later.}

First available as a plugin, I eagerly tried it out. And it was disappointing. I use WordPress to convey \textit{content}: information and ideas in the form of words occasionally augmented by images. But this was all about window dressing. It was about making things look pretty. (It was also about making things look all the same, alas. Such is the nature of modern web design.\footnote{Do \textit{not} get me started on modern web design.})

Which I'm fine with, in some ways—I've been interested in design since I first learned how to read and can go on at length about the differences between two different typefaces\footnote{\textit{Not} fonts. Seriously, also don't get me started on the differences between fonts and typefaces. (Oops, too late. See chapter three.)}. But this is not what Gutenberg was about. There are a number of ``page-building'' plugins available to help you design a website with WordPress if you know nothing about HTML and CSS.\footnote{Or at least there \textit{were} at the time; I've since stopped paying attention to these things.}

The ostensible purpose of the Gutenberg plugin (which was eventually included in the WordPress core\footnote{``in the WordPress core'' means that once you install the latest version of WordPress, you have this thing whether or not you want it or need it.}) was generally presented as a way to make WordPress \textit{easier} to use for non-technical users. One of the nice things about blogging software is that it levels the playing field for mounting a bully pulpit of your own—getting online is largely a matter of logging on, rather than building something from scratch. I used to think that this was a good thing, but the last ten years has taught me that giving idiots a bigger and better soapbox is probably \textit{not} a good idea. We should have the digital equivalent of ``you must be this tall to ride this ride''. Which used to be a basic knowledge of HTML. Maybe we should bring that back. 

But it didn't really take a genius to figure out the \textit{real} purpose of Gutenberg (because I am \textit{not}, in any way, shape, or form, a genius), and that was to basically squash all of those competing companies that provided page-building plugins out of existence.

The entire point of WordPress was that it made getting on the web easier for people. But here is WordPress saying that ``\textit{our} way of getting on the web is not just the \textit{best} way, but the \textit{only} way.''

I did protest in the WordPress forums. I pointed out that this could be a great feature for \textit{some} users, and that it might useful in \textit{some} cases, but not all, and thus should remain as a plugin and not incorporated into core. 

My comments did not fall on deaf ears. Instead, they fell on all-too-attentive ears who deleted my comments and posts. They also—without notice or warning—deleted my plugins from the WordPress plugin directory. I sent emails asking why, and got generic responses in return that were linked to an equally generic ``your plugin may be deleted if…'' page, which listed a number of reasons why your plugins might be deleted from the repository, reasons which seemed eminently reasonable to me, but none of which I had done. This means, of course, that there is an unwritten rule that your plugins may be deleted if you do not march in lock-step with The Powers That Be. But, of course.

I've long been suspicious of the WordPress business model. It is often described as an open source project, and indeed, wordpress.\textit{org} is. In fact, it \textit{has} to be, since it was originally a fork of the \textsf{b2/cafelog} project.\footnote{Alas, the \texttt{cafelog} domain is now owned by a Singaporean gambling company. Such is life in late-stage capitalism.} Like other oligarchs, Matt Mullenweg didn't invent \textit{anything}—he just took something that previously existed, put his own label on it, and called it his own. 

I don't have too much issue with this (if that's the direction they want to go, then that's the direction they want to go, and I am under no obligation to follow along), but what's unique in this situation is that wordpress.\textit{com} is \textbf{not} open source. It's a for-profit company that uses the open source WordPress software to sell websites to other people. There are lots of companies out there doing much the same thing. In fact, just about every webhosting company out there offers WordPress as a one-click install. (A long time ago, I was one of them, in my own small way, hosting websites built on WordPress for small businesses.\footnote{This business went away because a lot of small business owners make bad business decisions—on average, most small business go out of business in less than five years. Also, a lot of them decided to move their websites to Wix and Squarespace, thinking they would get more exposure as a result. Guess what? They didn't. You could ask them, but they've all gone out of business now. I did tell them, but they chose to believe random internet strangers who gave them easy answers, instead of me, an actual person who gave them difficult answers. Such is life.})

The key difference between WordPress and all those other companies is that Matt Mullenweg holds the keys to \textit{both} wordpress.org \textit{and} wordpress.com. All the hundreds and thousands of people who have contributed hundreds of thousands, if not millions, of hours of their labor to wordpress.org—a non-profit open-source project—have also been forced to contribute those same hours to wordpress.com—a for-profit company. And because Mullenweg has control over both, he can direct all those volunteers to direct their work in a way that benefits not just the non-profit, open-source project, but also the for-profit company.

This is a tremendous conflict of interest. Part of the purpose of the Gutenberg project was to make all those page-building plugins in the WordPress plugin repository unnecessary—and to impact the companies producing them with a financial hit, since most of them include both free (but limited) and paid (and thus, fully-featured) versions. If their customers no longer need those plugins because their capabilities are now part of WordPress core, those companies lose out on income, and possibly go out of business, meaning that wordpress.\textit{com} has fewer competitors.\footnote{Squashing your competitors is a feature, not a bug, of capitalism. If it weren't we wouldn't need anti-trust laws, would we?}

And now that WordPress (.org? .com? I'm not sure which anymore.) has attacked WPEngine for not ``supporting'' the wordpress.org project, we see that this is not really about promoting open-source projects but about yet another oligarch (or in this case, a wannabe oligarch; Mullenweg is small peanuts compared to others) trying to consolidate his\footnote{It's interesting to note that all current oligarchs are male.} power, and drive all of its competitors out of their business either by hook or by crook, it seems. 

Again, this would not be an issue if wordpress.\textit{com} were not a thing. The creators (or forkers, in this case) of open-source software should not be allowed to create for-profit entities that directly benefit from the volunteer labor of thousands of volunteers that they also control.

\section{How to Support Actual Open-Source Software Projects}\label{support}

It's not always about money. I mean, it is \textit{partly} about money for now, at least until we can build a society based upon ensuring people have what they need, and can contribute what they are able, rather than a society built upon avarice. In the meantime, here are some things you can do.

\begin{enumerate}%[itemsep=\baselineskip]
\item Use the software, on a regular basis. Get good at using it. Become an expert at using it, so you can help others down the road. (More about that later.)
\item Talk up this software. Use social media to talk about how much you like it—and most importantly, why. (The \textit{why} is very important!)
\item If you create projects with this software, make sure people know you created that project with this particular bit of software. (This is branding, but for altruistic, rather than selfish, reasons.)
\item Write tutorials for how to use this software. Share what you have learned. These tutorials can be for everyday use, or an edge case. Whatever you know, put it out there.
\item Contribute to the documentation. A lot of open-source software projects have less than complete documentation. If you can help make it a bit more complete, please do. 
\item Donate money. For better or for worse (mostly for worse) we live in a capitalist society where resources are allocated not on intrinsic value (i.e., how useful is this thing?) but on extrinsic value (i.e., how many people can we convince this thing is useful, even if it isn't?). Until the revolution comes\footnote{And it will someday, I'm sure—the only question is whether it will happen in time to save this planet.} we're going to have to depend on money.\par The good news is that you don't have to donate a lot of money. Capitalism is based on the Pareto Principle—80\% or more of the outputs are based on 20\% or less of the inputs. Alternatives to capitalism will advocate the Parity Principle, in which you give what you can, you take what you need, and you need what you take. If only 10\% of the users of any open-source project donated on an annual basis what they earn in an hour or even a half hour (after income taxes), then those software projects would probably experience anywhere between a 100 to a 1,000 times increase in their funding.
\item Contribute to the core, if you can. Most of us can't, and that's okay. 
\item You can always participate in the support forums, help other people out, and make suggestions for improvements.
\end{enumerate}

\paragraph{About the title:} \textit{Support Your Local Sheriff} is a 1969 western/comedy starring James Garner. It was initially a box office bomb, and the movie studio wanted to pull it from theaters (because movie studios tend to be spineless, risk-averse creatures). Garner had confidence in it though, and challenged the studio to match a \$10,000 stake to keep it in the theaters. The studio accepted his challenge, word of mouth caught on, and the film became a minor classic. Kudos to Garner for putting his money where his mouth was. It's not the best film in the world, but it's worth a watch.

