diff options
Diffstat (limited to 'writeup/writeup.tex')
-rw-r--r-- | writeup/writeup.tex | 108 |
1 files changed, 58 insertions, 50 deletions
diff --git a/writeup/writeup.tex b/writeup/writeup.tex index 8d2c4d9..e765f6e 100644 --- a/writeup/writeup.tex +++ b/writeup/writeup.tex @@ -41,7 +41,7 @@ science, and as such it makes sense to provide a brief overview for those who do 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 "\textbf{F}ree and \textbf{O}pen \textbf{S}ource \textbf{S}oftware". + \item[FOSS] An acronym for \textit{"\textbf{F}ree and \textbf{O}pen \textbf{S}ource \textbf{S}oftware".} \end{description} \section{What is Free Software?} The Free Software movement is one that has been active for over 40 years @@ -77,9 +77,9 @@ control of the software. Some common examples of Proprietary Software, are Micro Many people don't know that they already use Free Software\cite{COMMONfoss}, but often the tools they use most often are 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 major email providers and is Free -Software. A final example is Firefox\cite{FIREFOX} a Free Software web browser made by Mozilla that makes up 2.71\% +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 and is Free +Software. 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. @@ -87,14 +87,15 @@ are all more modern examples of Free Software, however over the past 40 years, t 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}, 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, 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. +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, 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 @@ -105,29 +106,32 @@ was relatively slow, and it was not a completely free system for many years, as 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 BSD Net1 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. It -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 deamed as the first Open Source operating system. +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 +linage 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 Valves \textit{steam deck} gaming handheld\cite{STEAMdeck}. +use in gaming, with it being the operating system used by Valve's \textit{steam deck} gaming handheld\cite{STEAMdeck}. 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, with a large jump over Covid. As of 2024 it would be hard not to say Free Software is fully -viable against its Proprietary counterpart. +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 weeks or days. 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 +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 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}, which is also Free Software. +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 @@ -144,16 +148,16 @@ 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, -to compare this paper will look at programming IDE's, web browsers, and office software, as there make up a large -amount of software, that are used by the majority of computer users. +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. 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}. +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 over flow 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 @@ -162,32 +166,35 @@ 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 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. - -\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 billions every day, one can look at their performance -and usability to compare these projects. +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}} + \includegraphics[width=\textwidth]{webbrowserperfomace.png} \center{\cite{BROWSERperformace}} \label{fig:graph} \end{figure} -This 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. +\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 under many -eyes, as it will disallow ad blockers, and other extensions that selectively remove content from web pages. +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 @@ -204,13 +211,14 @@ As the tools are so similar one will find it's not worth comparing them, in this 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, which are now at -an equal state to the alternative. +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 optimisation and speed may become more important than it is to -the common computer user. +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?} \section{What makes Free Software so appealing to privacy experts?} \section{Where else is Free Software used and why?} \section{What's next for the Free Software |