FREExers — Free Software in PIXERS

By Jakub Nadolny

The Problem of Property

Welive in an age when software has become something common and omnipresent. We check email box on our smartphones while eating breakfast, we take a look at notifications from social media sites and we schedule meetings on a smart watch calendar. Then, we get ready to work and we turn on our laptops. Usually, we use several/several dozen tools that make our work and life easier. Surely, just accidentally, they steal our lives from us, but this is the topic for another article. The key problem here is that most of us isn’t interested in how the programs we use are written and who wrote them. They just have to work. We are satisfied using the black box, which could include anything.

What are the consequences of such attitude? If a particular program we use is a proprietary software, then:

You cannot copy it legally
For example, you buy a laptop with the Microsoft Windows operating system in an OEM version. You pay for this system as its price is automatically included in the total price of equipment. Soon your laptop breaks down and you want to use the system on a different hardware. You cannot do this, though. What’s more, in some cases even the changing of the laptop’s configuration causes a loss of rights to use the software. You add some RAM to your computer and the license becomes invalid.

You cannot modify it legally in any possible way
Let’s say you use a text editor that really works for us except for its one small defect, which brings you to the brink of frustration. You would do everything to get rid of this error or functional lack. But you cannot. You can send a request to the software vendor, but unfortunately in case of large companies selling their products in bulk, it equals writing into a vacuum. Worse, it may be that your software is no longer even supported by the supplier, who produced new versions of it and is no longer interested in the users of an older version. It’s not that bad if it is only your private problem. The real disaster begins if an entire company uses such software and, in the meantime, its supplier goes out of business taking with him the source code and whole knowledge of it. If you use Microsoft Office, then of course you can always buy new system and migrate your documents. However, if the system supports your core business and you have already spent months on its implementation, configuration, entering the necessary data, it means an operational disaster for you and your company.

You cannot even take a look inside it
Let’s imagine that software is your own car, which you would like to look under the hood — for whatever reason, eg. from pure curiosity to see how the engine is running or, to remove the fault made by a ‘trusted’ mechanic or, to tighten loose screws and to clean the interior on this occasion, or to top up the washer fluid. You couldn’t do one of these things with proprietary software. Hood of the car equals for proprietary software, therefore cannot be opened. There is only one garage in the world who has the right to look under the hood of our car, and only this particular company can repair it (or not). Only there you can refill washer fluid, cause in the end you pay monthly license fee not for nothing. This garage is the producer of our software. Moreover, the manufacturer may put anything under the hood of your car, because no one will ever know anyway. There can be total chaos and poorly designed mechanisms, but you won’t know about it; there may be devices that track your behaviour and transmit data on it to the ‘headquarters’. Unfortunately, such practices in the world of proprietary software are not uncommon.

Source: blog.docracy.com

The question of patenting, including the patenting of algorithms, is also associated with the proprietary software. It is a huge topic, often related to absurd situations — for example, who first claims the patent of, let’s say, ‘a piece of cake’, will have the right to enforce appropriate fees from all people enjoying this brilliant and very revealing invention. This problem was already noticed by a businessman the Little Prince met during his journey:

“When you get an idea before anyone else, you take out a patent on it: it is yours. So with me: I own the stars, because nobody else before me ever thought of owning them.”

The real problem, though, is that it’s not important who got the idea first, but who patented it first. This is quite a substantial difference, don’t you think?


Invention of the very first free software

Inthe 80’s the MIT Artificial Intelligence Laboratory received a laser printer from the Xerox company. It was used by many users, but the problem was that from time to time paper jams occurred, which was quite annoying, especially for someone who had to come from another floor to pick up the print, and then to send it again. Richard M. Stallman, a hacker who was using the printer too, decided that something had to be done with this problem and wrote a program that informed the user about completion of the print or about paper jam. Soon, Xerox provided another, more advanced printer, but the same problem appeared. Stallman requested then the driver’s source code in order to be able to improve it.

To his great surprise, he was denied access to the code. This event essentially became the beginning of the revolution. Stallman started the GNU project, which still promotes the ideas of free software. From this project other initiatives were born, the GNU Linux operating system, among others, which now is basically the basis of most web servers, including PIXERS. Moreover, we can include to free software web servers (eg. Apache, nginx), mail servers (eg. Postfix, Dovecot), databases (eg. PostgreSQL, MySQL, Redis) and lots of other ‘building blocks’ that allowed the existence of countless companies in the Internet. We all use these programs mainly because they’re ‘free’ and we don’t even know they are a result of hard work of thousands of enthusiasts around the world. And they can do it precisely because it is free software.


What free software is anyway?

The first formal definition of free software was published by FSF in February 1986. That definition, written by Richard M. Stallman, is still relevant today and states that software is free software if people who receive a copy of the software have the following four freedoms:

Source: commons.wikimedia.org

Freedom 0: The freedom to run the program for any purpose.

Freedom 1: The freedom to study how the program works, and change it to make it do what you wish.

Freedom 2: The freedom to redistribute copies so you can help your neighbour.

Freedom 3: The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits.

The mandatory condition for the freedom 1 and 3 is the access to the source code.

Developing a free software is always beneficial dimension for the program writer. Thanks to the availability of the software thousands of users can benefit from the effects of a programmer’s work. Moreover, some of the user are also engineers who fix bugs in the program and introduce new functionalities that they currently need. This way, both sides benefit from it. However, what is quite important, opening the source code to the world requires its robust organisation. You can’t hide a mess under the cover of a ‘black box’ — everything must work properly and must be designed perfectly. Thus, such model of working is social and business positive. Hence the idea of FREExers was born — to promote free software in PIXERS. For a programmer it’s an additional motivator. For the company a good way of promotion.

by PIXERS

Of course, not everything is so simple and obvious as it may seem. What about companies that function on a basis of unique software that provides them a competitive advantage? Making it available to all and sundry may simply mean that its competition will pop up like mushrooms — in my opinion, this is one of the situations when one have to consider the pros and cons of ‘freeing’ the software. On the other hand, as Jason Fried and David Heinemeier Hansson write in their book Rework:

“As a business owner, you should share everything you know too. This is anathema to most in the business world. Businesses are usually paranoid and secretive. They think they have proprietary this and competitive advantage that. Maybe a rare few do, but most don’t. And those that don’t should stop acting like those that do.”

So far, in PIXERS we managed to develop some free software:

· API implementation to SalesManago

· two LESS plugins:
https://www.npmjs.com/package/less-import-aliases
https://www.npmjs.com/package/less-src-replace

And this is just the beginning!


Did you like the article? Click on the ♥ to like it and read: