Add new blog post

This commit is contained in:
speedie 2023-07-13 23:41:10 +02:00
parent 4e3e7ee0e8
commit ebe638441e
3 changed files with 302 additions and 0 deletions

View file

@ -0,0 +1,81 @@
# I am NOT an open source enthusiast
2023-07-13
Alright, just a short blog post for today. I am NOT an open source enthusiast.
Every time someone calls me a "open source" enthusiast, I want to shoot someone.
I do not support the open source movement and I do not support open source
software, or as a lot of people will say "FOSS".
## Goal of open source software
The goal of open source is to provide the source code for ease of collaboration
and for vulnerabilities to be discovered. Big companies can then take that project,
which is almost always licenced under a [cuck license](https://speedie.site/blog/Swedish+man+rants+about+licenses+again),
and release it in the form of nonfree software with additional spyware added on.
The most notable example of this is the Google Chrome web browser, where Chromium
is the "open source" variant of the software, only without the spyware and with
the freedom to modify and distribute copies of the software.
## Goal of free software
The goal of free/libre software on the other hand is freedom for all users of the
software. These are:
0. The freedom to run the program
1. The freedom to study the program
2. The freedom to distribute the program to help others
3. The freedom to modify and distribute copies of the program
While free software is often copyleft, meaning you cannot fork the project
and relicense it under a nonfree license, stripping away the freedom from
the users of that fork, free software is not always copyleft. Therefore
open source software is almost always compatible with free software. If you
are using open source software you are most likely using free software.
## Ethics
Open source software that meets the free software freedom criteria is just
as ethical as free software. The main problem is you're sending the wrong
message to people. But the software is still free as in freedom.
To be clear, I *do* believe nonfree software (software that doesn't meet the
four essential freedoms) is unethical. But I do not dislike anyone for using
nonfree software. It's kind of difficult to avoid using nonfree software in
this day and age. Respect to those who are able to use 100% free software
(going as far as using a libre kernel and free BIOS) though.
You are not unethical for using nonfree software. The unethical practice
is actually licensing that software under a nonfree license and releasing
the software to people.
## Same thing?
A lot of people will say "what's the difference" or "who cares" when I
mention I don't care for open source software. The reason it matters
is because when you talk to people who may or may not care about freedom,
you should be telling them that you care about freedom, not price.
FOSS stands for "Free and Open Source software" but I cannot stand this term,
because it implies that the software is open source *and* free as in price,
meaning you don't have to pay any money for it. Most people when they hear
this term, both tech enthusiasts and normies think it means you get it for
free. This is the problem. The message we should send is that the software
is free as in freedom, not that it doesn't cost any money.
## Conclusion
I am not for the open source movement. I do not support open source software
for the sake of collaboration or for security vulnerabilities to be discovered.
I support free software because free software respects users' four essential
freedoms. Everything open source provides free software also provides.
The main difference is the goal of the movement. I do not care for the
open source movement and their motives. I care about the FSF's definition
of free software and freedom for all users.
The reason "open source" is more popular now is because it's more corporate-
friendly. Companies do not care about your freedom, but they certainly do
care about unpaid work and security audits. Companies are against free
software because they are against user freedom.
That's it for today. Have a good rest of your day!

View file

@ -0,0 +1 @@
2023-07-13

220
rss.xml
View file

@ -3,6 +3,100 @@
<title>speedie's blog</title>
<description>speedie's blog, about stuff I want to talk about.</description>
<atom:link href="https://speedie.site/blog" rel="self" type="application/rss+xml" />
<item>
<title>I am NOT an open source enthusiast</title>
<link>/blog.php/I+am+NOT+an+open+source+enthusiast</link>
<guid>/blog.php/I+am+NOT+an+open+source+enthusiast</guid>
<pubDate>Thu, 13 Jul 2023 00:00:00 +0000</pubDate>
<description>
<![CDATA[
<h1>I am NOT an open source enthusiast</h1>
<p>2023-07-13</p>
<p>Alright, just a short blog post for today. I am NOT an open source enthusiast.
Every time someone calls me a "open source" enthusiast, I want to shoot someone.
I do not support the open source movement and I do not support open source
software, or as a lot of people will say "FOSS".</p>
<h2>Goal of open source software</h2>
<p>The goal of open source is to provide the source code for ease of collaboration
and for vulnerabilities to be discovered. Big companies can then take that project,
which is almost always licenced under a <a href="https://speedie.site/blog/Swedish+man+rants+about+licenses+again">cuck license</a>,
and release it in the form of nonfree software with additional spyware added on.
The most notable example of this is the Google Chrome web browser, where Chromium
is the "open source" variant of the software, only without the spyware and with
the freedom to modify and distribute copies of the software.</p>
<h2>Goal of free software</h2>
<p>The goal of free/libre software on the other hand is freedom for all users of the
software. These are:</p>
<ol>
<li>The freedom to run the program</li>
<li>The freedom to study the program</li>
<li>The freedom to distribute the program to help others</li>
<li>The freedom to modify and distribute copies of the program</li>
</ol>
<p>While free software is often copyleft, meaning you cannot fork the project
and relicense it under a nonfree license, stripping away the freedom from
the users of that fork, free software is not always copyleft. Therefore
open source software is almost always compatible with free software. If you
are using open source software you are most likely using free software.</p>
<h2>Ethics</h2>
<p>Open source software that meets the free software freedom criteria is just
as ethical as free software. The main problem is you're sending the wrong
message to people. But the software is still free as in freedom.</p>
<p>To be clear, I <em>do</em> believe nonfree software (software that doesn't meet the
four essential freedoms) is unethical. But I do not dislike anyone for using
nonfree software. It's kind of difficult to avoid using nonfree software in
this day and age. Respect to those who are able to use 100% free software
(going as far as using a libre kernel and free BIOS) though.</p>
<p>You are not unethical for using nonfree software. The unethical practice
is actually licensing that software under a nonfree license and releasing
the software to people.</p>
<h2>Same thing?</h2>
<p>A lot of people will say "what's the difference" or "who cares" when I
mention I don't care for open source software. The reason it matters
is because when you talk to people who may or may not care about freedom,
you should be telling them that you care about freedom, not price.</p>
<p>FOSS stands for "Free and Open Source software" but I cannot stand this term,
because it implies that the software is open source <em>and</em> free as in price,
meaning you don't have to pay any money for it. Most people when they hear
this term, both tech enthusiasts and normies think it means you get it for
free. This is the problem. The message we should send is that the software
is free as in freedom, not that it doesn't cost any money.</p>
<h2>Conclusion</h2>
<p>I am not for the open source movement. I do not support open source software
for the sake of collaboration or for security vulnerabilities to be discovered.
I support free software because free software respects users' four essential
freedoms. Everything open source provides free software also provides.
The main difference is the goal of the movement. I do not care for the
open source movement and their motives. I care about the FSF's definition
of free software and freedom for all users.</p>
<p>The reason "open source" is more popular now is because it's more corporate-
friendly. Companies do not care about your freedom, but they certainly do
care about unpaid work and security audits. Companies are against free
software because they are against user freedom.</p>
<p>That's it for today. Have a good rest of your day!</p>
]]>
</description>
</item>
<item>
<title>Use the XDG Base Directory specification</title>
<link>/blog.php/Use+the+XDG+Base+Directory+specification</link>
@ -1942,5 +2036,131 @@ a good rest of your day.</p>
]]>
</description>
</item>
<item>
<title>packr design goals</title>
<link>/blog.php/packr+design+goals</link>
<guid>/blog.php/packr+design+goals</guid>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
<description>
<![CDATA[
<h1>packr design goals</h1>
<p>2023-07-08</p>
<p>You may or may not be aware of it, but I started designing a package manager
back called <code>packr</code> early March this year. It was pretty poorly designed
however, and I don't think I had goals properly planned out. So I'm going to
talk about some of the goals I have in this blog post.</p>
<p>Of course, they are subject to change, because I haven't implemented anything
yet. You can always <a href="https://git.speedie.site/speedie/packr">watch the development</a>
happen at the packr Git repository.</p>
<p>If you have any suggestions on improvements, or think something I mentioned here
is stupid or unrealistic, please let me know. I am always open to suggestions
and potential improvements, no matter how ridiculous they may be.</p>
<p>While I do plan on finishing this package manager and making it a reality, I'm
not sure when. Either way, what is listed here is going to document how I'm going
about designing it.</p>
<p>You may ask, why design a new package manager? Well, I'm going to compare packr
ideas to existing package managers, but I don't like the design philosophy of
most package managers, and I also don't like the state of modern GNU/Linux.</p>
<h2>Source and binary hybrid</h2>
<p>One of the first key features I want to mention is that packr is going to be a
source and binary hybrid. That means both binaries and source based packages will
be available.</p>
<p>pacman's main flaw is being based around binary packaging, and the finished packages
don't handle compilation whatsoever. This means the user cannot compile packages
himself without grabbing a PKGBUILD which will generate a binary package anyway.</p>
<p>Portage fails here too. Portage is an excellent source based package manager, and
it is designed around source based packaging. It is definitely NOT designed for
binary packages though, and while it can be done it doesn't feel quite right.</p>
<p>packr should install packages the same way, whether you're compiling a package
or installing a package someone else compiled for you. <code>packr -i firefox</code> should
install Firefox, regardless if it's a prebuilt binary or source code. This is going
to be achieved by having multiple versions in the repository at all times. Source
based packaging is going to be the primary packaging, and users (or maintainers)
will be able to submit prebuilt binaries in addition to those source based packages.</p>
<h2>Source packages can generate binary packages</h2>
<p>As I said, source based packaging is the primary way to handle packaging in the
repositories. However, because binary packaging is lacking on source based
distributions, I plan on solving this by allowing all source based packages
to be automatically compiled into a binary package <em>after</em> it has been installed
and compiled once.</p>
<p>In practice, if one user compiles Chromium 113 from source, that user can generate
a Chromium 113 binary package using packr itself in seconds, and submit this
to the repository in addition to the Chromium 113 source package.</p>
<p>Any user can submit source packages to a repository, and then other users can
fill the void by submitting a binary package based on that source package. Or,
of course a source <em>and</em> binary package could be submitted at the same time.</p>
<h2>Shell script based</h2>
<p>Packages should be POSIX shell script based. POSIX shell is a scripting language
everyone who uses UNIX like operating systems are eventually forced to learn.
Therefore, using this for packages is a great way to make packages as easy to write
as possible.</p>
<p>If I end up writing it in C, one idea I have in mind is to have a shell script
read the package and send instructions to the main packr binary. This means the
only limitation is the shell itself. Either way, the packaging will be shell
script based. packr should be built around this fact.</p>
<p>If I end up writing it in shell script, it would probably be even more extensible,
but perhaps a bit slower. It must still be faster than Portage.</p>
<h2>Free as in freedom; to install anything</h2>
<p>No, this is not about the FSF or free software. Packr packages should specify
if they make network requests, if they read files from the disk, if they need
superuser permission, programming language, dependencies, and so on. Think
Android. On Android the user is able to read what permissions the program
requires before installing it. That's an important part of packr packaging.</p>
<p>Packages also need to specify licensing. This allows the user to make a decision
on whether or not he wants to use a software under the license. When a package is
installed, the user should (optionally) be notified of any antifeatures, the
aforementioned permissions such as network requests, and make a decision based on
that.</p>
<p>If the user only wants to use GPL licensed software, he can. If the user
hates Richard Stallman and doesn't want to use anything GPL licensed, he can do
that too. If he wants to run Microsoft spyware and use a proprietary kernel, he
can do that too. The package manager should not prevent any of these things
<em>unless</em> the user wants it to.</p>
<h2>Extensible</h2>
<p>packr should be hackable and extensible. It should interact with other programs
and it should use existing programs where the existing solutions are good.
Don't reimplement packaging, or signing or repositories. Git should be used
for repositories, PGP signatures and checksums should be used for signing
packages, packages should be tarballs containing a shell script packr reads,
and for binary packages it should contain the main binaries too.</p>
<h2>Source packages designed to be recompiled</h2>
<h2>Categories</h2>
<h2>Repositories are just Git repositories</h2>
<h2>PGP signing</h2>
<h2>Conclusion</h2>
]]>
</description>
</item>
</channel>
</rss>