NB : That article was very difficult to write - it took me 25 days - because I did not want to divide people, commoners vs hackers, Us vs Them. I wanted to share that view, on the edge of both groups, as I feel often like a mediator, also in other opinions and aspects of life.
How did it all started ?
90 % of what I know about computers, I learned it all by myself. I got some courses in highschool and university, but I could never have reached my current level of computing skills based solely on that.
I did not get courses on ipv4/ipv6, on DNS, or servers. All of that, I learned reading tutorials and trying myself commands from my computer.
I built my own server and my own routeur following instructions laid out from people I considered experts.
Actually, it was all very progressive and gradual.
I played on computer, then one day, I got fed up for the n-th time with a Windows crash. So I installed a Linux distribution (Mandriva at the time). Then after a few years, I setup my own mini server (to torrent) and began hosting a small website as well as a mail server - OMG, how messy it was - with a free domain name.
Then I properly paid my domain name, hosted at home. I switched several times between distros. Ubuntu, then Gentoo, then Debian. Then another day, another Debian bug (related to Dbus I remember) and I decided to switch the server from Debian to OpenBSD. From there I continued : when you got a BSD server, building a routeur is not that difficult. I also learned a lot on networking and ipv6 all by reading and doing stuff from my home computer.
I am constantly increasing my knowledge and skills of computers, of network, of internet. Each time a new step on a ladder. So it is possible to come in and devellop quite a good level of expertise compared to the common man. But there is also some barriers to entry.
And I remain an autodidacte. Which means I constantly lack some refences.
An eternal new begining
As I did not get any deep computing course, I don’t know the most important softwares.
Git for example is a well-known tool used worldwide to distribute code, software and configuartion. It has numerous options and I know pretty few of them. And I will probably never manage to really learn about the other options.
Because I have no interest or time in using them.
Each new project is a new begining as my level of knowledge in the subject is very low.
I have written a shell script with some help from another programmer. And it was really hard because I have never written a script of that size.
Next project ? Writing some python program. Which I never worked on before.
Why would I do that and not continue with shell scripting ? Because that project (creating an unbound module to check ipv6 availability and connectivity on websites) cannot be realised by a script, and Unbound has a python extension ability.
So I need to start from scratch again.
Coming into the Hacker’s bubble
Looking into the computing world as someone not educated, as an autodidacte and meeting hackers (to be understood as a person who love programming, tinkering with computers and improve those) can be fun. But it also has some surprises.
Where do you meet hackers ?
As I did not get computing courses, I did not devellop any true social circle in there either.
Where do you meet hackers ? IRC, Mastodon, Diaspora, a bit on Reddit…
And as I did not devellop a social network in IT, I have no reason to hang out on IRC. Which is a problem because it’s where I could get help in my projects when I want to start something.
So here again, quite hard a start.
Softwares as tools, or as lifestyle ?
Some softwares are actually created by hackers, either as a hobby or as a tool to fit some of their personal or professional needs and that’s why they feel so good about them. They created those tools that further extended into an environement into which hackers live and create further. They socialize through that environnement too, to a certain extend, just like the rest of the world have done recently through social networks by the way.
But they created themselves those environnements, those social networks, to fit their own needs, their ethic, their lifestyle. Hackers don’t hang out so much on Facebook or Instagram but rather on Mastodon, Diaspora or IRC, which are social networks created and curated by hackers and they care very much for the privacy of their users - an essential part of the hacker ethic.
Mastodon looks a bit like Twitter. And what do I read a lot in Mastodon ? For the most part, I read hackers talking about hackers’ subjects. Privacy, laws related to networks and computing.
Different people, different priorities
When you read about the four freedoms in free software - with Free to be understood as Free speech, not Free beer - you understand that hackers place a great deal of importance into the ability to read and modify the code.
If you cannot read or modify the source code of softwares, then you cannot build again that environnement where you are in control.
The Linux kernel was created by Linus Torvalds as a hobby, and Git was written by Torvalds himself again because he felt that the other softwares did not fit his needs.
So quite often, programs are created by a hacker to fit the needs of said hacker. In my opinion, that’s one of the problems in open source / free software. The free software philosophy is that by having access to the code, by being able to hack, you can improve the code. Hackers see that as beneficial to the user. They consider that hacking ability as the most important freedom to a user.
What matters ? Ethics or usage ?
To me, that does not look so important.
Free software benefits first the developper and the user who has technical skills. Not the common man, or not directly.
I think the most important thing to a software user is …
Does that software execute the task I expect of it ? I want to execute a task, write a long text, calculate something from that data, does the software realise that calculation as I want it to do ?
Is the software doing what I really want to do ?
I do care whether a software is free, to some extend, because I generally have better control on it. I can tinker much deeper with it.
But if your software is free but does not fit the need I have… well, too bad.
In my field of work, the most important softwares I master are not free. So I have to make do.
One thing a hacker said me once was …
Errrrrh. No. You do, maybe. What do I use professionally ? AutoCAD. Revit. Robot and other structural softwares.
To much of humanity, softwares are first and foremost, tools. You should remember that.