diff options
author | thing1 <thing1@seacrossedlovers.xyz> | 2025-02-11 09:38:26 +0000 |
---|---|---|
committer | thing1 <thing1@seacrossedlovers.xyz> | 2025-02-11 09:38:26 +0000 |
commit | b4e73c446e2f466fba9cf8f4c072d2f609ed5db8 (patch) | |
tree | 5daa954fcfb3b354898a1f21006e83ad38ca0e9c /writeup | |
parent | 3bfbe4140b60bf744f08c662e4e93f6c78735790 (diff) |
spell checked to all hell
Diffstat (limited to 'writeup')
-rw-r--r-- | writeup/writeup.tex | 138 | ||||
-rw-r--r-- | writeup/writeup.tex.bak | 395 |
2 files changed, 464 insertions, 69 deletions
diff --git a/writeup/writeup.tex b/writeup/writeup.tex index 6692d26..24a4845 100644 --- a/writeup/writeup.tex +++ b/writeup/writeup.tex @@ -29,7 +29,7 @@ \newpage \section{Using this document} This document is written using the {\LaTeX} text compiler. The compiler has set up -clickable links, clickable references and a clickable table of contents, so please use these to your advantage. +click-able links, click-able references and a click-able table of contents, so please use these to your advantage. The Tex source and Bib Tex bibliography is available for all at \url{https://git.seacrossedlovers.xyz/epq.git} under the MIT/X document license. @@ -54,7 +54,7 @@ what specific terms mean. \item[FOSS] An acronym for \textit{"\textbf{F}ree and \textbf{O}pen \textbf{S}ource \textbf{S}oftware".} \item[IDE] An \textit{\textbf{I}ntegrated \textbf{D}evelopment \textbf{E}nvironment}, is a tool used by developers - to write code, it can be thought of as a text ediTORlike Word or Docs, but instead of spell checking, + to write code, it can be thought of as a text editor-like Word or Docs, but instead of spell checking, it instead has syntax checking. \end{description} @@ -64,13 +64,13 @@ and the reasons developers and privacy experts find it to be a better tool for t of ways of how FOSS software is used compared to its proprietary counterparts. -\section{What is Free Software?} The Free Software movement is one that has been active for over 40 years +\section{What is free software?} The free software movement is one that has been active for over 40 years \cite{GNUmaifesto}, it has created some of the most important tools in computing that are used by billions on a daily basis. It is so engraved in our lives, yet so few even know what the term means; In a simple note, it is software for a computer, phone or other device that can be used without violating the users freedom. -The definition of what counts Free Software and what is software freedom can vary depending on who you ask, but -it was originally written that software that allows the following freedoms is Free Software: +The definition of what counts free software and what is software freedom can vary depending on who you ask, but +it was originally written that software that allows the following freedoms is free software: \begin{description} \item[0] The freedom to run a program for any purpose @@ -80,33 +80,33 @@ it was originally written that software that allows the following freedoms is Fr \end{description} \textit{These freedoms were written by Richard Stallman\cite{FOSSdef} who is ever important in this space.} -It is important that one does not confuse Free Software with software that is monetarily free, this is known as -Freeware. Free Software defends the users rights to use and modify software and is not focused on its cost. -However Free Software often is also free in cost, so the confusion is easily made. +It is important that one does not confuse free software with software that is monetarily free, this is known as +free-ware. Free software defends the users rights to use and modify software and is not focused on its cost. +However free software often is also free in cost, so the confusion is easily made. -One should also note the differences between Free Software and Open Source software. In Open Source software, -like Free Software, the original code for a program is available to anyone, however in Open Source, this is to -better the projects development and usability, whereas in Free Software it is to better the users freedom. They +One should also note the differences between free software and Open Source software. In Open Source software, +like free software, the original code for a program is available to anyone, however in Open Source, this is to +better the projects development and usability, whereas in free software it is to better the users freedom. They both use the same methods to achieve differing goals; this often leads them to be commonly used together, as the -benefits a user gets from Free Software is much the same in Open Source software, and vice versa. +benefits a user gets from free software is much the same in Open Source software, and vice versa. -The main goal of Free Software is to allow the user to have as much freedom as possible when using a piece of +The main goal of free software is to allow the user to have as much freedom as possible when using a piece of software for any purpose. This is in contrast to the traditional alternative, called Proprietary Software, which can be defined as software that the user can not edit, modify or redistribute without the original publishers permission. This kind of software intentionally restricts the users freedom, usually for the purpose of profit or control of the software. Some common examples of Proprietary Software, are Microsoft's \textit{Windows}, Apple's \textit{iOS}, and Google's \textit{Chrome} web browser. -Many people don't know that they already use Free Software\cite{COMMONfoss}, and sometimes the tools they use most -often are infact Free Software. A few examples of this are, Krita\cite{KRITA}; a graphics design and art tool that is +Many people don't know that they already use free software\cite{COMMONfoss}, and sometimes the tools they use most +often are in fact free software. A few examples of this are, Krita\cite{KRITA}; a graphics design and art tool that is used frequently in animation, and other digital art, is made and managed by the KDE foundation\cite{KDE}, who make -exclusively Free Software. Dovecot\cite{DOVECOT}; an email server used by many major email providers. -A final example is Firefox\cite{FIREFOX}; a Free Software web browser made by Mozilla that makes up 2.71\% +exclusively free software. Dovecot\cite{DOVECOT}; an email server used by many major email providers. +A final example is Firefox\cite{FIREFOX}; a free software web browser made by Mozilla that makes up 2.71\% of the browser market share as of 2024, however in the past has had up to 30\%\cite{BROWSERmarketshare}. These -are all more modern examples of Free Software, however over the past 40 years, there have been countless others. +are all more modern examples of free software, however over the past 40 years, there have been countless others. -\section{A brief history of FOSS} The term Free Software was first coined by Richard Stallman in 1983\cite{GNUproject}, -however even before this, examples of Free Software (and the disapproval of Proprietary Software), were already +\section{A brief history of FOSS} The term free software was first coined by Richard Stallman in 1983\cite{GNUproject}, +however even before this, examples of free software (and the disapproval of Proprietary Software), were already starting to show. One of the earliest examples of the disapproval of Non-free Software, was the response to Microsoft's \textit{An @@ -116,12 +116,12 @@ had brought required software for said hardware. The fact this was happening at showed how many computing groups, also known as hacker groups/spaces at the time, weren't willing to pay for the software they used, believing that if they brought the hardware they had done all that was needed\cite{OPENletter}. It is often believed that this is one of the first examples of \textit{hacker culture}, which would become more common into the -80's and 90's, and was the starting point of the current Free Software movement, where people continued the view, +80's and 90's, and was the starting point of the current free software movement, where people continued the view, that software was not a commodity to be sold, but a resource to be shared. A key figure in \textit{hacker culture}, as previously mentioned, is Richard Stallman. In the 1980's he left his job at MIT to work full time on the GNU project, which was designed -to be a full recreation of AT\&T's Unix operating system from the ground up as Free Software. The idea was to +to be a full recreation of AT\&T's Unix operating system from the ground up as free software. The idea was to allow anyone access to a Unix like machine without paying AT\&T's expensive license fees, and allow any user to view it, redistribute or edit; it was to be the first fully free operating system. The early development of GNU was relatively slow, and it was not a completely free system for many years, as some core parts of the operating @@ -132,34 +132,34 @@ In 1988 the BSD Net1 operating system would release\cite{BSDnet1}, this was the Berkeley Software Distribution version of Unix. BSD was by no means new by this point, however it wasn't fully free until this point. This version had completely rewritten all the code from the original Unix that previous versions contained, meaning it was now completely free from AT\&T's licenses. It would be the start of a long -linage of Open Source operating systems which are now the base of MacOS, FreeBSD and OpenBSD and is often deemed +lineage of Open Source operating systems which are now the base of MacOS, FreeBSD and OpenBSD and is often deemed as the first Open Source operating system. The GNU project, while still not fully finished, saw the final piece of the puzzle when Linux\cite{LINUX} released in -1991, it was a fully free kernel which GNU was still lacking (however it did get its own kernel called GNU hurd but +1991, it was a fully free kernel which GNU was still lacking (however it did get its own kernel called GNU Hurd but Linux is far more commonly used). With GNU and Linux paired together a user could finally get a fully free operating system for general use, this combination of software is still in use today, having a 4.7\% market share globally on desktop computers\cite{LINUXmarket}, and on web servers it is dominant. In recent years it has also shown some use in gaming, with it being the operating system used by Valve's \textit{steam deck} gaming handheld\cite{STEAMdeck}. -As one can see, the rise of Free Software has been tied to the rise of Unix, and this is no surprise; like many -Free Software projects, the goal of Unix was to make small reusable tools that together became a cohearent operating system, -that could be modified and changed per any users needs. This happened to align with the Free Software movement, +As one can see, the rise of free software has been tied to the rise of Unix, and this is no surprise; like many +free software projects, the goal of Unix was to make small reusable tools that together became a coherent operating system, +that could be modified and changed per any users needs. This happened to align with the free software movement, and thus many early projects, were recreating or adding to Unix. Since Linux's release there haven't been as many major events in the space and more so a steady flow of updates and new features, most likely due to the amount of people working on projects being high enough for constant development, as opposed to one person sending in code every few days or weeks. There was another large jump -in development over the Covid lock down's. As of 2024 it would be hard not to say Free Software is fully viable +in development over the COVID lock downs. As of 2024 it would be hard not to say free software is fully viable against its Proprietary counterpart. \section{How is Free Software developed?} -The process of developing Free Software has changed over time, especially -as the internet came to be, allowing developers from all across the world to add to things. In modern terms the +The process of developing free software has changed over time, especially +as the Internet came to be, allowing developers from all across the world to add to things. In modern terms the development process is very simple, a developer can look at a piece of code, make changes to a local version of it, then it can be uploaded to a central online version of the code, to be checked by lead maintainers, before becoming the part of the main version (developers would say creating a local branch and submitting a pull request). -This method was popularized by version control systems; such as git\cite{GIT} and RCS, which are both Free Software. +This method was popularised by version control systems; such as git\cite{GIT} and RCS, which are both free software. What these tools allow for is the work of many people to brought together into one single code base. When code is submitted, it generally gets split into individual chunks (called patches) which each have an individual @@ -173,9 +173,9 @@ system. This pattern of development is liked amongst programmers as it allows ma which is invaluable if your project has many developers. This method is also commonly used in Non-free Software, to manage large development teams\cite{NONFREEvcs}. -\section{Comparing Free Software to its Proprietary counterparts} +\section{Comparing free software to its Proprietary counterparts} As previously mentioned there are many different -examples of Free Software, often made to be an alternative to a common piece of Proprietary software, each have +examples of free software, often made to be an alternative to a common piece of Proprietary software, each have their pro's and con's. To compare, one can look at performance data and usability. To show a wide range of software, this paper will look at programming IDE's, web browsers, and office software, as most computer users have used at least one of these, and thus will be familiar with them. @@ -183,10 +183,10 @@ least one of these, and thus will be familiar with them. \subsection{Programming IDE's} \textit{An \textbf{IDE} is an \textbf{I}ntegrated \textbf{D}evelopment \textbf{E}nvironment} -The main IDE's used by developers are Free Software, but there are a few Non-Free ones that are used according to +The main IDE's used by developers are free software, but there are a few Non-free ones that are used according to the Stack-overflow developer survey\cite{IDEusage}. To compare text editors, one can look at \textit{VS Code} as an example of open software, with 73\% of developers claiming to have used it at some point, and \textit{IntelliJ}, -as an example of Non-Free Software, with 26\% of developers claiming to have used it at some point\cite{IDEusage}. +as an example of Non-free Software, with 26\% of developers claiming to have used it at some point\cite{IDEusage}. These tools are both commonly used personally and professionally, and are of a similar size, making them ideal to compare. On the performance side of the argument, VS Code has Intellij beat, being faster to open and generally @@ -217,10 +217,10 @@ their performance and usability to compare these projects. Figure \textbf{\ref{fig:graph}} denotes each browsers performance in encryption and decryption, while not fully representative of all use cases, it is one of many things that goes into the final speed of the browser. As the graph shows, Firefox's FOSS implementation of JavaScript has lead to a faster final product, most likely as more -people have had eyes on the code, and suggested optimizations over the past 20 years. On the front of performance +people have had eyes on the code, and suggested optimisations over the past 20 years. On the front of performance it is clear that the FOSS tool has beaten the Proprietary counterpart. -In respect to usability things come more to user preference, so what one needs to look at, is customizability; the +In respect to usability things come more to user preference, so what one needs to look at, is extensibility; the ability to make a piece of software exactly fit their needs. In this yet again Firefox wins out, while both Firefox and Google Chrome have plug-in capability's, Firefox is known for its completely open system to them, allowing any and all extensions to be used. In contrast Google limits what can be used via the "manifest" documents, this series @@ -231,20 +231,20 @@ amongst users, as it will disallow AD blockers, and other extensions that select In today's world, the majority of browsers are based on Chrome in some way or another with Firefox being one of the few exceptions to this rule. Due to this, most browsers will be effected by manifest V3 as it comes into full effect in the coming years. As this happens it will become increasingly hard to deny that Firefox is easier to -customize and make usable to the users needs. +customise and make usable to the users needs. \subsection{Office Software} When looking at office software, their are two commonly used tools, Microsoft Office (also known as 365), and Libreoffice. Microsoft Office is Proprietary software, and has been since its creation in the early days of personal computing, Libreoffice on the other hand, has been FOSS software from the start -(libre actually means free in spanish, so this is no surprise). They both provide advanced features, and for the +(Libre actually means free in Spanish, so this is no surprise). They both provide advanced features, and for the most part are completely cross compatible. In this sense they have become almost identical tools. As the tools are so similar one will find it's not worth comparing them, in this way we can say that there is no difference, they are both mature, well used, effective suites of software, they are equal. This is something many -people struggle to see sometimes as they have been using one piece of Non-Free Software for so long, they don't +people struggle to see sometimes as they have been using one piece of Non-free Software for so long, they don't want to move to anything else. This has negative effects on the users, many Non-free tools are effected by cyber -attacks, and long lasting bugs, that could be fixed by switching to Free Software alternatives, as the technical +attacks, and long lasting bugs, that could be fixed by switching to free Software alternatives, as the technical users of these tools fix these issues quickly compared to alternatives. This is usually put up to the fact that most FOSS developers aren't working to new features and are instead working to making a tool that works for them. @@ -256,10 +256,10 @@ the common computer user or tools are only made by large companies and no free a \section{What makes Free Software so appealing to developers?} \subsection{What is appealing?} -Free Software is open to all for edits and changes, this has makes it a tinker playground for all who know how. +Free software is open to all for edits and changes, this has makes it a tinker playground for all who know how. Many FOSS projects are used to learn how to code\cite{LEARNINGtocodewithfoss}, how to manage code and how to add to existing code; thus -FOSS software is appealing to developers, especially new ones. If a developer uses software they have edited/customized -themself, they may find that that software becomes easier to use as they can see its inner workings. +FOSS software is appealing to developers, especially new ones. If a developer uses software they have edited/customised +them self, they may find that that software becomes easier to use as they can see its inner workings. Even outside the realms of learning resources FOSS tools are liked by professional developers\cite{FOSSinindistry}, for the same reasons. In enterprise software development, there is often very specific tasks that need to be done, thus having full access to @@ -269,8 +269,8 @@ tool, or ones company may not be able to acquire a license to an existing piece \subsubsection{What is not appealing?} Many developers do however site issues with FOSS, often claiming it to be too hands on, which may not be ideal. While a large amount -of these claims are no longer true (especially around tools like Linux\cite{LINUXhard}), they do still hold weight over the Free Software -community. It is in a sense a double edged sword, because tools are more customizable\cite{FOSScustomize}, it can feel that without customizations, one +of these claims are no longer true (especially around tools like Linux\cite{LINUXhard}), they do still hold weight over the free software +community. It is in a sense a double edged sword, because tools are more customisable\cite{FOSScustomize}, it can feel that without customisation's, one does not get a proper experience using FOSS if one wants something that just works. \subsection{Why is it more appealing than Non-free Software?} @@ -280,8 +280,8 @@ as they feel that it is objectively worse, due to the locked nature and corporat experience, this is only an opinion, but it is held by many individuals in the space. \subsubsection{Why is the alternative still better for some people?} -For some people, the stable, static nature of Non-free tools is appealing over the draws of newer Free tools. Many people also worry -about the speratic nature of development in Free Software, as they are often held up by only a few individuals, these people aren't interested +For some people, the stable, static nature of Non-free tools is appealing over the draws of newer free tools. Many people also worry +about the speradic nature of development in free software, as they are often held up by only a few individuals, these people aren't interested in customising their software, and instead are trying to use something they are familiar with. \subsection{How does this effect other users?} @@ -296,12 +296,12 @@ Overall a lot of this comes down to weather a project can be customised or not, as it is often targeted towards them. This has given FOSS tools a strong hold in the developer space with a large amount of them using tools like Linux, Vim\cite{STACKOVERFLOW}, and many others. -\section{What makes Free Software so appealing to privacy enthusiasts?} +\section{What makes free software so appealing to privacy enthusiasts?} The reason that FOSS is preferred can be put up to many reasons, many of which are hard to say/know as privacy enthusiasts are usually quite good at hiding, however a few known reasons, methods and individuals can be studied. \subsection{Who are privacy enthusiasts and why do they do what they do?} % needs an edit, "why do they do what they do" is clunky -Privacy enthusiasts are simply people who care for their privacy very heavily, they like to keep themself completely +Privacy enthusiasts are simply people who care for their privacy very heavily, they like to keep them self completely anonymous when using technology; there are many reasons one may want to do this, for example, individuals in politically tense countries may wish to remain hidden when reading outside news sources or talking to others from the rest of the world. Another example could be those who have information that they wish to make public, as they deem it to be right to share, while @@ -310,14 +310,14 @@ going to large corporations, who are known for selling user data. \subsection{Some known examples} When looking for privacy experts, historical examples are the best place to look; as these are well documented, and thus easier to study. -There are many examples of privacy being used to better situations, for a multitude of reasons, and here is a list of a few notible and well +There are many examples of privacy being used to better situations, for a multitude of reasons, and here is a list of a few notable and well documented examples. \begin{description} \item[BBC reporters and readers: ] While not an individual, a very interesting case, to ensure those who live in countries with restrictive media, or communications, the BBC have began to host a version of their news site over - theTORnetwork\cite{BBCtor}, which means people from restrictive countries can read uncensored news without + the TOR network\cite{BBCtor}, which means people from restrictive countries can read uncensored news without their governments knowing. This service is also used by their reporters to feed back information from countries with strict political monitoring. \item[Edward Snowden: ] @@ -328,19 +328,19 @@ documented examples. for his work, pushing against mass surveillance. What is interesting about him as an individual is that he worked for the NSA and CIA and says that the mass surveillance was thought of as common in these places\cite{EDWARDsnowden}. \item[Lawrence Lessig: ] - He is known for pushing digital privacy and Free Software, creating the Creative Commons\cite{CC}. He cares for privacy for the sake + He is known for pushing digital privacy and free software, creating the Creative Commons\cite{CC}. He cares for privacy for the sake of it, not because he has things to hide like Edward Snowden, or because he is in a politically restrictive location. He has appeared in/worked on films, books and other media trying to push for free digital speech and free digital use. He believes digital privacy is one of many steps needed to achieve this\cite{LESSIG}. Creative Commons is known for its use adgacent - to Free Software, as they are both about sharing, reusing and avoiding limitations. + to free software, as they are both about sharing, reusing and avoiding limitations. \end{description} \subsection{What Free Software do they use?} -While many tools come to mind when thinking of privacy, the most prominent ones have to be TORand Linux. +While many tools come to mind when thinking of privacy, the most prominent ones have to be TOR and Linux. -TOR(\textit{\textbf{T}he \textbf{O}nion \textbf{R}outer}), is a Free Software tool that allows a user to encrypt their network +TOR (\textit{\textbf{T}he \textbf{O}nion \textbf{R}outer}), is a free software tool that allows a user to encrypt their network traffic, and send it through three other computers first. This is similar to a VPN (\textit{\textbf{V}irtual \textbf{P}rivate \textbf{N}etwork}), -which sends network traffic through an middle man before it is received at the server. The difference is that Tor, will go through -three random middle men nodes, instead of one constant node\cite{TOR}. Using TORmakes it almost impossible for a server to know where the original +which sends network traffic through an middle man before it is received at the server. The difference is that TOR, will go through +three random middle men nodes, instead of one constant node\cite{TOR}. Using TOR makes it almost impossible for a server to know where the original connection came from, and makes it very hard to intercept signals between the user and server, thus hiding the user of the computer. This \textit{connection masking} as it is called, can be used to hide website traffic, messaging traffic or in fact any kind of network traffic, to someone trying to spy on the user, they will never know where they are connecting too, how often they are connecting, or for @@ -353,39 +353,39 @@ meant for more specific use cases. All of them will be more private than Non-fre specific ones exist such as tails OS\cite{TAILSOS}, and some are designed for more offensive privacy and security such as Kali Linux \cite{KALIlinux}. \subsection{Why is Proprietary software not applicable for this use case?} -For privacy experts and enthusiasts, Free and open tools are preferable for the fact that they know what is happening internally. If a user were +For privacy experts and enthusiasts, free and open tools are preferable for the fact that they know what is happening internally. If a user were using Non-free tools, it would be impossible to know weather the code running had their privacy in mind, or if it would be sending data to a large corporation or other such entity. For this reason free and open software is perfect, there cant be any hidden malicious intentions as they would be seen by all who vet these tools on a daily basis. Another reason that one can draw as to why someone would want to use free tools is that they are -less restricted in what they can do; Non-free tools are limited by corporate law and other such things, Free Software on the other hand is less limited +less restricted in what they can do; Non-free tools are limited by corporate law and other such things, free software on the other hand is less limited as restricting what individuals make and share, would end up making many things in common life illegal. Its under these rules that tools such as TOR can exist. \section{Where else is Free Software used and why?} -Free Software is used in many places, it is versatile, and easy to modify, which is ideal for most corporate situations or public -services. For example Free Software is in libraries to allow for easy management of books and databases\cite{LIBRARIESFOSS}. In libraries, +Free software is used in many places, it is versatile, and easy to modify, which is ideal for most corporate situations or public +services. For example free software is in libraries to allow for easy management of books and databases\cite{LIBRARIESFOSS}. In libraries, it has made it easier to manage compared to alternatives, and people have been doing this for many years, via freeware and shareware, bother -older examples that are similar to Free Software. +older examples that are similar to free software. Another example is in the energy sector\cite{ENERGYsector}, where it is used to manage power distribution and preferred due to generally improved -security, and ability to adapt to newer hardware systems. It does all this, while costing far less (or nothing), compared to alternative softwares +security, and ability to adapt to newer hardware systems. It does all this, while costing far less (or nothing), compared to alternative software's which are known for being highly expensive, often sold as a yearly service. \section{What's next for the Free Software space?} -In the coming years it is clear the Free Software space is going to grow, with major projects like Linux becoming exponentially more popular. These +In the coming years it is clear the free software space is going to grow, with major projects like Linux becoming exponentially more popular. These trends aren't showing any signs of stopping, and infact are increasing. From the growth in the space right now, one could assume that someone who is -using one or two pieces of Free Software today, might be using many more in the coming years. +using one or two pieces of free software today, might be using many more in the coming years. This recent up tick has been put up to many things, such as improved quality compared to the past. Many people say there is a lower barrier to entry, with more user friendly software. Many also have become frustrated with the lack of control they have over there systems, data, and privacy; with things -changing without their control. All of these reasons, and many others have lead to the recent up tick in Free Software in the past 5 years. +changing without their control. All of these reasons, and many others have lead to the recent up tick in free software in the past 5 years. -The same level of growth is being seen with developers, becoming a large community, commonly associated with the Free Software movement. Newer tools +The same level of growth is being seen with developers, becoming a large community, commonly associated with the free software movement. Newer tools are always being made, with the advancements in AI, including the first open models and frameworks, such as Llama; new IDE's and improving features in existing ones, for example vim getting full/improved LSP features. \section{Closing thoughts} -After reading this paper, one can hopefully see there is some benefit to the use of Free Software by development and privacy experts, as it clearly tends +After reading this paper, one can hopefully see there is some benefit to the use of free software by development and privacy experts, as it clearly tends more to their needs, and is developed with them in mind, unlike alternative proprietary software software. It is clear that it is a growing space, with more people entering, including non technical users, only getting better for specific use cases and more generic ones. diff --git a/writeup/writeup.tex.bak b/writeup/writeup.tex.bak new file mode 100644 index 0000000..f304965 --- /dev/null +++ b/writeup/writeup.tex.bak @@ -0,0 +1,395 @@ +\documentclass[a4paper,12pt]{article} + +\usepackage[backend=bibtex]{biblatex} +\usepackage{geometry} +\usepackage{titling} +\usepackage{titlesec} +\usepackage[english]{babel} +\usepackage[hidelinks]{hyperref} +\usepackage{listings} +\usepackage{xcolor} +\usepackage{graphicx} +\usepackage{forest} +\usepackage{tikz-qtree} +\usepackage{setspace} + +\addbibresource{ref.bib} + +\graphicspath{ {./images} } + +\titleformat{\section} {\Huge} {} {0em} {}[\titlerule] +\geometry{a4paper,total={170mm,257mm},left=25mm,right=25mm,} + +\author{Lucas Standen} +\title{Why are FOSS tools preferred in the development and privacy space?} + +\begin{document} +\maketitle + +\newpage + +\section{Using this document} This document is written using the {\LaTeX} text compiler. The compiler has set up +click-able links, click-able references and a click-able table of contents, so please use these to your advantage. +The Tex source and Bib Tex bibliography is available for all at \url{https://git.seacrossedlovers.xyz/epq.git} under +the MIT/X document license. + +\tableofcontents +\newpage + +\setlength{\parskip}{1em} + +{\setlength{\parindent}{0cm} +\section{Used language in this paper} Throughout this paper, language specific to the field of computer +science will be used, and as such it makes sense to provide a brief overview for those who don't know +what specific terms mean. + +\begin{description} + \item[Licenses] In this setting a license is a legal document that is distributed with + almost all modern software, which describes how someone can use and redistribute a piece of software. + \item[Free Software] This term refers to software under specific licenses, making them + free for the user to use (free as in freedom, not the monetary cost). This will be covered further + in the next section. + \item[Open Source] This term refers to a piece of software, where the original code for it + is publicly available. This too will be covered further in the next section. + \item[FOSS] An acronym for \textit{"\textbf{F}ree and \textbf{O}pen \textbf{S}ource \textbf{S}oftware".} + + \item[IDE] An \textit{\textbf{I}ntegrated \textbf{D}evelopment \textbf{E}nvironment}, is a tool used by developers + to write code, it can be thought of as a text editor-like Word or Docs, but instead of spell checking, + it instead has syntax checking. +\end{description} + +\section{A brief introduction} +This paper will cover the advancements of FOSS tools and systems over time, discuss the benefits, its recent growth, +and the reasons developers and privacy experts find it to be a better tool for the job. This paper will cover a variety +of ways of how FOSS software is used compared to its proprietary counterparts. + + +\section{What is Free Software?} The Free Software movement is one that has been active for over 40 years +\cite{GNUmaifesto}, it has created some of the most important tools in computing that are used by billions on a +daily basis. It is so engraved in our lives, yet so few even know what the term means; In a simple note, it is +software for a computer, phone or other device that can be used without violating the users freedom. + +The definition of what counts Free Software and what is software freedom can vary depending on who you ask, but +it was originally written that software that allows the following freedoms is Free Software: + +\begin{description} + \item[0] The freedom to run a program for any purpose + \item[1] The freedom to study how a program works, and modify it to your needs + \item[2] The freedom to redistribute a piece of software + \item[3] The freedom to redistribute a edited version of software publicly +\end{description} +\textit{These freedoms were written by Richard Stallman\cite{FOSSdef} who is ever important in this space.} + +It is important that one does not confuse Free Software with software that is monetarily free, this is known as +Free-ware. Free Software defends the users rights to use and modify software and is not focused on its cost. +However Free Software often is also free in cost, so the confusion is easily made. + +One should also note the differences between Free Software and Open Source software. In Open Source software, +like Free Software, the original code for a program is available to anyone, however in Open Source, this is to +better the projects development and usability, whereas in Free Software it is to better the users freedom. They +both use the same methods to achieve differing goals; this often leads them to be commonly used together, as the +benefits a user gets from Free Software is much the same in Open Source software, and vice versa. + +The main goal of Free Software is to allow the user to have as much freedom as possible when using a piece of +software for any purpose. This is in contrast to the traditional alternative, called Proprietary Software, which +can be defined as software that the user can not edit, modify or redistribute without the original publishers +permission. This kind of software intentionally restricts the users freedom, usually for the purpose of profit or +control of the software. Some common examples of Proprietary Software, are Microsoft's \textit{Windows}, Apple's +\textit{iOS}, and Google's \textit{Chrome} web browser. + +Many people don't know that they already use Free Software\cite{COMMONfoss}, and sometimes the tools they use most +often are in fact Free Software. A few examples of this are, Krita\cite{KRITA}; a graphics design and art tool that is +used frequently in animation, and other digital art, is made and managed by the KDE foundation\cite{KDE}, who make +exclusively Free Software. Dovecot\cite{DOVECOT}; an email server used by many major email providers. +A final example is Firefox\cite{FIREFOX}; a Free Software web browser made by Mozilla that makes up 2.71\% +of the browser market share as of 2024, however in the past has had up to 30\%\cite{BROWSERmarketshare}. These +are all more modern examples of Free Software, however over the past 40 years, there have been countless others. + +\section{A brief history of FOSS} The term Free Software was first coined by Richard Stallman in 1983\cite{GNUproject}, +however even before this, examples of Free Software (and the disapproval of Proprietary Software), were already +starting to show. + +One of the earliest examples of the disapproval of Non-free Software, was the response to Microsoft's \textit{An +open letter to hobbyists}\cite{OPENletter}, which was written by Bill Gates in 1976. This letter detailed that +people had been stealing from Microsoft, as many people had brought hardware through them, but far fewer people +had brought required software for said hardware. The fact this was happening at a scale large enough to cause this +showed how many computing groups, also known as hacker groups/spaces at the time, weren't willing to pay for the software they +used, believing that if they brought the hardware they had done all that was needed\cite{OPENletter}. It is often +believed that this is one of the first examples of \textit{hacker culture}, which would become more common into the +80's and 90's, and was the starting point of the current Free Software movement, where people continued the view, +that software was not a commodity to be sold, but a resource to be shared. + +A key figure in \textit{hacker culture}, as previously mentioned, is Richard Stallman. In the + 1980's he left his job at MIT to work full time on the GNU project, which was designed +to be a full recreation of AT\&T's Unix operating system from the ground up as Free Software. The idea was to +allow anyone access to a Unix like machine without paying AT\&T's expensive license fees, and allow any user to +view it, redistribute or edit; it was to be the first fully free operating system. The early development of GNU +was relatively slow, and it was not a completely free system for many years, as some core parts of the operating +system were missing, meaning Non-free alternatives had to be used. However this would later change in 1991, when +final additions would be created. + +In 1988 the BSD Net1 operating system would release\cite{BSDnet1}, this was the first fully open version of the +Berkeley Software Distribution version of Unix. BSD was by no means new by this point, however it wasn't fully +free until this point. This version had completely rewritten all the code from the original Unix that previous +versions contained, meaning it was now completely free from AT\&T's licenses. It would be the start of a long +lineage of Open Source operating systems which are now the base of MacOS, FreeBSD and OpenBSD and is often deemed +as the first Open Source operating system. + +The GNU project, while still not fully finished, saw the final piece of the puzzle when Linux\cite{LINUX} released in +1991, it was a fully free kernel which GNU was still lacking (however it did get its own kernel called GNU hurd but +Linux is far more commonly used). With GNU and Linux paired together a user could finally get a fully free operating +system for general use, this combination of software is still in use today, having a 4.7\% market share globally +on desktop computers\cite{LINUXmarket}, and on web servers it is dominant. In recent years it has also shown some +use in gaming, with it being the operating system used by Valve's \textit{steam deck} gaming handheld\cite{STEAMdeck}. + +As one can see, the rise of Free Software has been tied to the rise of Unix, and this is no surprise; like many +Free Software projects, the goal of Unix was to make small reusable tools that together became a coherent operating system, +that could be modified and changed per any users needs. This happened to align with the Free Software movement, +and thus many early projects, were recreating or adding to Unix. + +Since Linux's release there haven't been as many major events in the space and more so a steady flow of updates +and new features, most likely due to the amount of people working on projects being high enough for constant +development, as opposed to one person sending in code every few days or weeks. There was another large jump +in development over the COVID lock downs. As of 2024 it would be hard not to say Free Software is fully viable +against its Proprietary counterpart. + +\section{How is Free Software developed?} +The process of developing Free Software has changed over time, especially +as the Internet came to be, allowing developers from all across the world to add to things. In modern terms the +development process is very simple, a developer can look at a piece of code, make changes to a local version of +it, then it can be uploaded to a central online version of the code, to be checked by lead maintainers, before +becoming the part of the main version (developers would say creating a local branch and submitting a pull request). +This method was popularized by version control systems; such as git\cite{GIT} and RCS, which are both Free Software. +What these tools allow for is the work of many people to brought together into one single code base. + +When code is submitted, it generally gets split into individual chunks (called patches) which each have an individual +purpose. Each patch added will fix 1 bug or add 1 feature, this leads to a simple development cycle that can easily +be used to fix bugs, by breaking them down into small patches that need to be written, and distributing the work +between many developers. + +Without going into too much detail, this is done by merging all contributions into the main code base by +comparing line numbers in differing versions, this is a fully automated process, managed by your version control +system. This pattern of development is liked amongst programmers as it allows many to submit code all at once, +which is invaluable if your project has many developers. This method is also commonly used in Non-free Software, +to manage large development teams\cite{NONFREEvcs}. + +\section{Comparing Free Software to its Proprietary counterparts} +As previously mentioned there are many different +examples of Free Software, often made to be an alternative to a common piece of Proprietary software, each have +their pro's and con's. To compare, one can look at performance data and usability. To show a wide range of software, +this paper will look at programming IDE's, web browsers, and office software, as most computer users have used at +least one of these, and thus will be familiar with them. + +\subsection{Programming IDE's} +\textit{An \textbf{IDE} is an \textbf{I}ntegrated \textbf{D}evelopment \textbf{E}nvironment} + +The main IDE's used by developers are Free Software, but there are a few Non-Free ones that are used according to +the Stack-overflow developer survey\cite{IDEusage}. To compare text editors, one can look at \textit{VS Code} as +an example of open software, with 73\% of developers claiming to have used it at some point, and \textit{IntelliJ}, +as an example of Non-Free Software, with 26\% of developers claiming to have used it at some point\cite{IDEusage}. + +These tools are both commonly used personally and professionally, and are of a similar size, making them ideal to +compare. On the performance side of the argument, VS Code has Intellij beat, being faster to open and generally +more lightweight than Intellij, this has been put up to the fact that VS Code is written in JavaScript, which is +faster than Java, which is what Intellij is written in\cite{VSCODEvsintellij}. + +On the usability side, things are more even, both editors have features that makes them better than each other, +each of them have plug-ins support, advanced text editing features and each have auto completion. However in this +sense VS Code still generally comes ahead, with its more main stream user base, more gets made for it, and as it is +Open Source, it is generally easier for users to add features, in the for of patches, and in the form of plug-ins, +although no definite numbers are available on exact plug-in counts publicly, VS Code is most defiantly ahead, +with this too. It becomes clear how projects like Vs Code become dominate. People want to use something that is +well supported, and then because they too are using it, its support can become better, which is an upward cycle, +that goes on until you reach the market cap. + +\begin{figure}[h] + \caption{Comparing speed of browsers, time \textit{(lower is better)}} + \includegraphics[width=\textwidth]{webbrowserperfomace.png} + \center{\cite{BROWSERperformace}} + \label{fig:graph} +\end{figure} + +\subsection{Web Browsers} +To compare web browsers, one can look at two commonly used browsers, Google Chrome, +and Firefox. Both of these are known projects, that are used by near billions every day combined, one can look at +their performance and usability to compare these projects. + +Figure \textbf{\ref{fig:graph}} denotes each browsers performance in encryption and decryption, while not fully +representative of all use cases, it is one of many things that goes into the final speed of the browser. As the +graph shows, Firefox's FOSS implementation of JavaScript has lead to a faster final product, most likely as more +people have had eyes on the code, and suggested optimizations over the past 20 years. On the front of performance +it is clear that the FOSS tool has beaten the Proprietary counterpart. + +In respect to usability things come more to user preference, so what one needs to look at, is customizability; the +ability to make a piece of software exactly fit their needs. In this yet again Firefox wins out, while both Firefox +and Google Chrome have plug-in capability's, Firefox is known for its completely open system to them, allowing any +and all extensions to be used. In contrast Google limits what can be used via the "manifest" documents, this series +of documents describes what is and isn't allowed in the Chrome browser, and is significant as it holds a large +market share. The most recent one of these documents, manifest V3\cite{MANIFESTv3}, has come to much disapproval +amongst users, as it will disallow AD blockers, and other extensions that selectively remove content from web pages. + +In today's world, the majority of browsers are based on Chrome in some way or another with Firefox being one of +the few exceptions to this rule. Due to this, most browsers will be effected by manifest V3 as it comes into full +effect in the coming years. As this happens it will become increasingly hard to deny that Firefox is easier to +customize and make usable to the users needs. + +\subsection{Office Software} +When looking at office software, their are two commonly used tools, Microsoft Office +(also known as 365), and Libreoffice. Microsoft Office is Proprietary software, and has been since its creation +in the early days of personal computing, Libreoffice on the other hand, has been FOSS software from the start +(libre actually means free in Spanish, so this is no surprise). They both provide advanced features, and for the +most part are completely cross compatible. In this sense they have become almost identical tools. + +As the tools are so similar one will find it's not worth comparing them, in this way we can say that there is no +difference, they are both mature, well used, effective suites of software, they are equal. This is something many +people struggle to see sometimes as they have been using one piece of Non-Free Software for so long, they don't +want to move to anything else. This has negative effects on the users, many Non-free tools are effected by cyber +attacks, and long lasting bugs, that could be fixed by switching to Free Software alternatives, as the technical +users of these tools fix these issues quickly compared to alternatives. This is usually put up to the fact that +most FOSS developers aren't working to new features and are instead working to making a tool that works for them. + +\subsection{General conclusions} +Overall one can see that in many areas of software use, FOSS tools are already +at an equal state or better, than the Non-free counterparts, for general users. One may find that this balance +begins to change in more specific fields, where optimization and speed may become more important than it is to +the common computer user or tools are only made by large companies and no free alternative exist. + +\section{What makes Free Software so appealing to developers?} +\subsection{What is appealing?} +Free Software is open to all for edits and changes, this has makes it a tinker playground for all who know how. +Many FOSS projects are used to learn how to code\cite{LEARNINGtocodewithfoss}, how to manage code and how to add to existing code; thus +FOSS software is appealing to developers, especially new ones. If a developer uses software they have edited/customized +them self, they may find that that software becomes easier to use as they can see its inner workings. + +Even outside the realms of learning resources FOSS tools are liked by professional developers\cite{FOSSinindistry}, for the same reasons. +In enterprise software development, there is often very specific tasks that need to be done, thus having full access to +a related tool, can lead to a solution coming from modifying something that already exists, or by observing inner workings. +This is very helpful in an enterprise setting for a number of reasons, such as: ones work is too specific to have a pre-existing +tool, or ones company may not be able to acquire a license to an existing piece of software. + +\subsubsection{What is not appealing?} +Many developers do however site issues with FOSS, often claiming it to be too hands on, which may not be ideal. While a large amount +of these claims are no longer true (especially around tools like Linux\cite{LINUXhard}), they do still hold weight over the Free Software +community. It is in a sense a double edged sword, because tools are more customizable\cite{FOSScustomize}, it can feel that without customizations, one +does not get a proper experience using FOSS if one wants something that just works. + +\subsection{Why is it more appealing than Non-free Software?} +Due to the closed down nature of Non-free Software, it is often hard to work with when a specific use cases is required, as it +is too locked down to customise. For a lot of developers they also find Non-free Software as a blight on the software space, +as they feel that it is objectively worse, due to the locked nature and corporate profits often being considered before user +experience, this is only an opinion, but it is held by many individuals in the space. + +\subsubsection{Why is the alternative still better for some people?} +For some people, the stable, static nature of Non-free tools is appealing over the draws of newer Free tools. Many people also worry +about the speratic nature of development in Free Software, as they are often held up by only a few individuals, these people aren't interested +in customising their software, and instead are trying to use something they are familiar with. + +\subsection{How does this effect other users?} +As repeated various times, a lot of what makes FOSS appealing is the fact it can be customised, far more than other pieces of +software. This often leads to developers using a piece of software, then as it open, they contribute to it, but it often ends up +being that the features added are developer focused and thus do not help general users, or in some cases, hinders them. +This has all lead to and \textit{echo chamber} effect, where features are added by developers for developers. One must be made +aware however that this is not true of all projects, it is just a trend among major projects. + +\subsection{Conclusions} +Overall a lot of this comes down to weather a project can be customised or not, as this is a feature key to developers +as it is often targeted towards them. This has given FOSS tools a strong hold in the developer space with a large amount +of them using tools like Linux, Vim\cite{STACKOVERFLOW}, and many others. + +\section{What makes Free Software so appealing to privacy enthusiasts?} +The reason that FOSS is preferred can be put up to many reasons, many of which are hard to say/know as privacy enthusiasts are +usually quite good at hiding, however a few known reasons, methods and individuals can be studied. + +\subsection{Who are privacy enthusiasts and why do they do what they do?} % needs an edit, "why do they do what they do" is clunky +Privacy enthusiasts are simply people who care for their privacy very heavily, they like to keep them self completely +anonymous when using technology; there are many reasons one may want to do this, for example, individuals in politically +tense countries may wish to remain hidden when reading outside news sources or talking to others from the rest of the world. +Another example could be those who have information that they wish to make public, as they deem it to be right to share, while +a legally dubious, it is a reason that people wish to be hidden. And finally it may be that people do not want information +going to large corporations, who are known for selling user data. + +\subsection{Some known examples} +When looking for privacy experts, historical examples are the best place to look; as these are well documented, and thus easier to study. +There are many examples of privacy being used to better situations, for a multitude of reasons, and here is a list of a few notable and well +documented examples. + +\begin{description} + \item[BBC reporters and readers: ] + While not an individual, a very interesting case, to ensure those who live in countries + with restrictive media, or communications, the BBC have began to host a version of their news site over + the TOR network\cite{BBCtor}, which means people from restrictive countries can read uncensored news without + their governments knowing. This service is also used by their reporters to feed back information from + countries with strict political monitoring. + \item[Edward Snowden: ] + In 2013 this man leaked many documents from the NSA \textit{(the American National Security Agency)}, + outlining how the USA had full access to email communications between the majority of major email providers in the USA. + He is known for using many privacy and security related FOSS tools when fleeing from America to avoid prosecution. + While this is obviously highly illegal, with the USA prosecuting him under the Espionage Act of 1917; he is often praised + for his work, pushing against mass surveillance. What is interesting about him as an individual is that he worked for + the NSA and CIA and says that the mass surveillance was thought of as common in these places\cite{EDWARDsnowden}. + \item[Lawrence Lessig: ] + He is known for pushing digital privacy and Free Software, creating the Creative Commons\cite{CC}. He cares for privacy for the sake + of it, not because he has things to hide like Edward Snowden, or because he is in a politically restrictive location. He has + appeared in/worked on films, books and other media trying to push for free digital speech and free digital use. He believes + digital privacy is one of many steps needed to achieve this\cite{LESSIG}. Creative Commons is known for its use adgacent + to Free Software, as they are both about sharing, reusing and avoiding limitations. +\end{description} +\subsection{What Free Software do they use?} +While many tools come to mind when thinking of privacy, the most prominent ones have to be TOR and Linux. + +TOR (\textit{\textbf{T}he \textbf{O}nion \textbf{R}outer}), is a Free Software tool that allows a user to encrypt their network +traffic, and send it through three other computers first. This is similar to a VPN (\textit{\textbf{V}irtual \textbf{P}rivate \textbf{N}etwork}), +which sends network traffic through an middle man before it is received at the server. The difference is that TOR, will go through +three random middle men nodes, instead of one constant node\cite{TOR}. Using TOR makes it almost impossible for a server to know where the original +connection came from, and makes it very hard to intercept signals between the user and server, thus hiding the user of the computer. +This \textit{connection masking} as it is called, can be used to hide website traffic, messaging traffic or in fact any kind of network +traffic, to someone trying to spy on the user, they will never know where they are connecting too, how often they are connecting, or for +how long. + +Linux \textit{(also known as GNU/Linux)}, as previously mentioned is a free and open source operating system, this is frequently used by privacy enthusiasts +as it has been vetted by countless individuals to ensure it contains no malicious code that could effect a users individual privacy. GNU/Linux +is split into many different distributions that are all individually maintained, some of them are designed for general use, while others are +meant for more specific use cases. All of them will be more private than Non-free alternatives as they are so rigorously checked. Some privacy +specific ones exist such as tails OS\cite{TAILSOS}, and some are designed for more offensive privacy and security such as Kali Linux \cite{KALIlinux}. + +\subsection{Why is Proprietary software not applicable for this use case?} +For privacy experts and enthusiasts, Free and open tools are preferable for the fact that they know what is happening internally. If a user were +using Non-free tools, it would be impossible to know weather the code running had their privacy in mind, or if it would be sending data to a large +corporation or other such entity. For this reason free and open software is perfect, there cant be any hidden malicious intentions as they would be +seen by all who vet these tools on a daily basis. Another reason that one can draw as to why someone would want to use free tools is that they are +less restricted in what they can do; Non-free tools are limited by corporate law and other such things, Free Software on the other hand is less limited +as restricting what individuals make and share, would end up making many things in common life illegal. Its under these rules that tools such as +TOR can exist. + +\section{Where else is Free Software used and why?} +Free Software is used in many places, it is versatile, and easy to modify, which is ideal for most corporate situations or public +services. For example Free Software is in libraries to allow for easy management of books and databases\cite{LIBRARIESFOSS}. In libraries, +it has made it easier to manage compared to alternatives, and people have been doing this for many years, via freeware and shareware, bother +older examples that are similar to Free Software. + +Another example is in the energy sector\cite{ENERGYsector}, where it is used to manage power distribution and preferred due to generally improved +security, and ability to adapt to newer hardware systems. It does all this, while costing far less (or nothing), compared to alternative softwares +which are known for being highly expensive, often sold as a yearly service. + +\section{What's next for the Free Software space?} +In the coming years it is clear the Free Software space is going to grow, with major projects like Linux becoming exponentially more popular. These +trends aren't showing any signs of stopping, and infact are increasing. From the growth in the space right now, one could assume that someone who is +using one or two pieces of Free Software today, might be using many more in the coming years. + +This recent up tick has been put up to many things, such as improved quality compared to the past. Many people say there is a lower barrier to entry, +with more user friendly software. Many also have become frustrated with the lack of control they have over there systems, data, and privacy; with things +changing without their control. All of these reasons, and many others have lead to the recent up tick in Free Software in the past 5 years. + +The same level of growth is being seen with developers, becoming a large community, commonly associated with the Free Software movement. Newer tools +are always being made, with the advancements in AI, including the first open models and frameworks, such as Llama; new IDE's and improving features in existing +ones, for example vim getting full/improved LSP features. + +\section{Closing thoughts} +After reading this paper, one can hopefully see there is some benefit to the use of Free Software by development and privacy experts, as it clearly tends +more to their needs, and is developed with them in mind, unlike alternative proprietary software software. It is clear that it is a growing space, with +more people entering, including non technical users, only getting better for specific use cases and more generic ones. + +\newpage +\printbibliography +} +\end{document} |