Software Licenses

We live in a very interesting world, which all work is kept under control of the creator. Many people (mostly corporations), say this is a good thing, and actively work to extend copyright control. Currently, the life of copyright is well past the life of the creator himself. If one makes a more thorough evaluation, one finds that copyright actually inhibits the growth of new content. In a way, all new content builds on old content, from Disney movies, to artwork, to pieces of software. This last example is an interesting one, as all pieces of software share certain similarities. After all, there are only so many was to write a sort, algorithm, or search. This has lead software into becoming a grey area for a lot of copyright. Many people are fine with sharing their software, however, and want to put their software out there for others to hack on, and a software license will allow people to do that. To use a license, people can simply include the license with the source and the binary files, to show users what rights they have. There are many different types of software licenses, and here is a quick sampling of the most common ones.

The following information is not a substitute for the actual license. For more information, read the full legal text of each license.

The MIT License

The MIT license is probably the easiest to understand: It lets users do anything with your code, as long as they don’t sue you. Large projects don’t use this license too much, as it gives the user absolute freedom to do whatever they want with your software, such as distribute it at a cost or rebrand and redistribute it. It’s a good choice for those who just want to publish a small project to the world, and don’t care about what happens to it whatseover.

The Apache License

The Apache license is very similar to the MIT license, and is used by Apache Free Software projects, such as Hadoop and Apache Web Server. The major differences are that the Apache License gives away Patent rights, and forbids the use of trademarks in derivative software. Use this if you are concerned about the previous two key differences. If you are looking for an alternative, the BSD license might work for you as well!

The Mozilla License

The Mozilla License is used by Firefox and other Mozilla products. It adds a few more restrictions on the more permissive licenses, by requiring that the source must be disclosed with all future derivatives. This prevents companies from using the program within their software suite (and selling it), without giving away the free source and the binaries of the original program.

The GNU General Public License

The GNU License applies even more restrictions by saying that future derivatives or works that use the software must be licensed with the GNU GPL or other free software licenses. This license prevents other companies from using your software in a situation where users are denied the freedoms that you give them in your license, which furthers the open source software movement. However, this can be a downside for people who want their work to be used in proprietary situations, such as most commercial ones. All GNU projects are licensed under this license, such as gimp, gcc, and almost all utilites found in a GNU/Linux system or a GNU Operating System.

– [onion] chesse


A Tale of Software

Due to the apple unveiling event taking place tomorrow, I have decided to stray from my usual topic and talk a about the commercialization in software! This will also give insights into my future posts.

Last post, I talked about how computers had become tainted with overuse, and how all computers became poorly maintained over time. This is mainly due to the commercialization of software. In the beginning, only experts could use computers. One of the main reasons for this was the command line, a prompt where you would type commands to do everything on a computer. To use it, one had to remember commands, parameters to those commands, and pay a penalty for any mistyped commands. It was easy to ‘brick’ an entire system with a typo on the command line. With the invent of the graphical user interface (or GUI), a new era of computing started.

Now, suddenly, it was extremely easy to use a computer! One could simply click on a icon to run a program, rather than having to memorize commands. One could check boxes instead of memorize command line arguments! And most importantly, confirmations were added, to reduce the possibility of breaking your system.

Naturally, this kind of computing exploded, as literally anyone had access to the power of a computer, with no training. The corporations that developed these GUI’s exploded into the giants that we know today: Apple, and Microsoft. The command line, at least in windows, was a shunned tool, thrown away like a old sock. Computer ‘Experts’ became those who knew what all the little buttons do, instead of those who had spent years learning about the internals of a computer. The ‘stupid user’ became someone who had literally no prior experience with technology, maybe forced into a computing job. All possible because of the GUI.

However, the GUI gave companies the power to lock its users in. All the users had no idea about the internals of a computer, they ‘just wanted to get work done’. So naturally, the GUI’s constricted, giving less and less of those options that were needed by the true professionals, as the target audience was those who had no idea how computers work. Recently, the corporations have taken it even farther, by essentially forcing certain mandates on its users. Windows has many ‘features’ that limit a user’s freedom, from having the power to delete programs on its computers, to sending information about usage back to Microsoft. Apple actively fights users who are trying to gain freedom, by voiding warranty on ‘jailbroken’ products, limiting apps on the app-store, and placing backdoors in products available to Apple itself, giving them almost full control over every apple product. Of course, the users don’t care… They just want to ‘use a computer’. The professionals who were around before this revolution are warning of the consequences to accepting these products, but very few people are listening, as no one simply cares. All who ‘disagree’ are either ignorant to these changes being ‘marketed’ to them in plain sight, or are willing to trade usability and ease of use for their freedom.

In order to truly learn about computers, you need to bypass the restrictions that corporations put on you, so you can have full access to the wonderful machine you own, and the only way to do that is by utilizing free software. Because of this, I will mainly be showing you how to use free software, rather than proprietary alternatives, because proprietary software simply limits what is possible for a computer to do.

When you go down to the apple store and attempt to get that iPhone 6, think about how much freedom are you willing to give up. Do you even have the freedom to abstain from buying the new iPhone? Or are you just digging yourself a hole of reliance from which you have no possibility of escaping…

-[onion] chesse


The Computer

Once, Computers were a tool reserved for the very elite. They cost many thousands of dollars, were the size of a room, and required constant care to run properly. To use a Computer you would need to learn about every aspect of how a Computer would work. This fact, in combination with how catastrophic a simple error could be, lead to every Computer being extremely well maintained. Now, the only Computers that are maintained as well as those from our past are those of companies, who pay system administrators to take care of, use, and oversee use of a server…

With the rise of ‘easy computing’ came the rise of the famous, at least in IT, stupid user. Nowadays, anyone from any background can ‘use a Computer’, in fact, many of us spend most of our waking lives using one, be it for social media, gaming, or typing a report. Little ‘previous knowledge’ is required, unlike any other high level tool. Every tractor driver requires basic training, every pianist must learn how to play, and every machinist must learn how to use a milling machine and other tools, all processes which take years to accomplish. However, today we see even 1st graders being brought over to the ‘Computer lab’, and being told to type up essays, with little to no prior knowledge about Computers. The Computer, nowadays, is treated as a basic tool, on par with a pen, or a crowbar, but its internals are more complicated than any other gadget on the planet.

Almost every system in our age is one maintained by a person who is not a Computer expert, which means they are blind to the true power and glory of computing. They would say, “Oh, my Computer is getting slow, time to buy a new one”, or, “Any file that ends with a .txt is a text file”, or, “I need to go download some more ram“, all comments that are blissfully ignorant of the true power and capabilities of a Computer. In order to use any tool effectively, you need to learn the most effective way to use it, and how the tool works ‘under the hood’.

This blog is not for the ‘stupid users‘, nor is it for the ‘wizards‘. It is for those users who are amazed by the technology of the Computer, and willing to put in time, make sacrifices, and fix their own problems, in order to LEARN how a Computer actually works. If these people encounter an error they have never seen before, they will take the time to figure out what has gone wrong, why it went wrong, and the PROPER way to fix it.

Let us go forth, and find out what it REALLY means to check that ‘advanced users only’ box.

-[onion] chesse

DISCLAIMER: While it may appear that I know a lot about Computers, I really don’t. I just want to make it easier for people to go through what I struggled through for 4 long years: beginning to learn how to truly use a Computer. My journey is nowhere near complete, but I hope to help the few of you that will stick with me to get started and broaden everyone’s mind about The Computer!