From 8f27dfcccf5943e5bd8df37b923de3a34568eddf Mon Sep 17 00:00:00 2001 From: thing 1 Date: Tue, 3 Dec 2024 14:06:19 +0000 Subject: made some tiny changes to things --- writeup/tmp.tex | 219 -------------------------------------------------------- 1 file changed, 219 deletions(-) delete mode 100644 writeup/tmp.tex (limited to 'writeup/tmp.tex') diff --git a/writeup/tmp.tex b/writeup/tmp.tex deleted file mode 100644 index c6fa8ef..0000000 --- a/writeup/tmp.tex +++ /dev/null @@ -1,219 +0,0 @@ -\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 FOSS software is 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 -clickable links, clickable references and a clickable table of contents, so please use these to your advantage. -The Tex source and Bib Tex bibliography is available for all at \url{https://github.com/standenboy/epq/} under -the MIT/X document license. - -\tableofcontents \newpage - -\setlength{\parskip}{1em} - -{\setlength{\parindent}{0cm} - -\section{A brief introduction} - -\section{Used language in this paper} Throughout this paper I will use language specific to the field of computer -science, 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 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 "\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 -\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 -Freeware. Free Software defends the users rights to use and modify software and is not focused on its cost. - -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}, 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\% -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}, 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. - -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 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. - -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}. - -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. - -\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. -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, -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. - -\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}. - -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 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. - -\begin{figure}[h] - \caption{Comparing speed of browsers, time \textit{(lower is better)}} - \includegraphics[width=\textwidth]{webbrowserperfomace.png} \center{\cite{BROWSERperformace}} -\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. - -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 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, which are now at -an equal state to the alternative. - -\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. - -\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 -space?} \section{Final thoughts} - -\newpage \printbibliography } \end{document} -- cgit v1.2.3