Add new blog post
This commit is contained in:
parent
4e3e7ee0e8
commit
ebe638441e
81
articles/I am NOT an open source enthusiast.md
Normal file
81
articles/I am NOT an open source enthusiast.md
Normal 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!
|
1
articles/I am NOT an open source enthusiast.md.date
Normal file
1
articles/I am NOT an open source enthusiast.md.date
Normal file
|
@ -0,0 +1 @@
|
|||
2023-07-13
|
220
rss.xml
220
rss.xml
|
@ -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>
|
||||
|
|
Reference in a new issue