The best way to support yourself being a free software developer is apparently getting another job

In this YouTube video there's a crappy interview with Richard Stallman where he does his typical thing of laying out his philosophy and answering some asinine questions from the hosts. One good question asked though was, more or less, regarding the idea of supporting a family while at the same time giving your software away for free.

Free Software people love telling you that on the one hand you should be able to/you can make money with your software, but on the other they also tend to admit you can't actually make a decent living giving your stuff away for free, and yes I know you can sell your software, but if it comes with source and someone redistributes it to the world, well then you've given it away, so your attempts to charge don't really work.

Yes, there's Red Hat and a few others out there, but since those original big boys which have been heavily propped up by companies which create proprietary software and hardware, there really haven't been any other success stories. All those companies like Cygnus, VA Linux, etc are all gone. The idea of "well we can give it away and charge for support" and "we charge for manuals / physical copies of software" aren't decent and workable business models. They're great ways to go out of business though, unless you've got a big daddy company to back you up, like IBM, which doesn't play be the same rules you claim to.

Here is the part of the interview I'm talking about:

Host: Are you actuality putting the needs of have no non-free software above the needs of feeding my kid?

Stallman: Absolutely. I don't see much difference what your saying and what a thief or swindler would say trying to justify what his doing; the most effective thing an American can do not reduce ecological impact is not have a kid.

In a way that speaks for itself, but the comments too really are interesting because they often both admit the obvious issue of working essentially for free (save a few examples out of tens of thousands of FOSS projects) and at the same time claiming you'll actually be better off and make more money this way.

Not to mention that freedom, apparently, is taking freedom from everyone else; then again this is coming from zealots who think Stallman deserves GNU tacked on to the start of Linux, a requirement which no other software project, platform, or library is morally obligated to make, just Linux.

I think it may be obvious I'm not one of those who says "Richard Stallman deserves praise for all he's done," he gets more than enough praise. I'm not against open source or free software, in fact I've distributed code on this blog using the MIT/X11 license. I am against forcing everyone else to live by your rules and licensing.

If you can make your way through the typical ass kissing Richard Stallman posts, you can find the nuggets I'm talking about.

This was ridiculously stupid. I don't care if your child eats – that responsibility is on you. And I'm not willing to sacrifice my freedom, just so that you can meet your responsibility. Think about it.

It doesn't seem to occur to him that maybe I have the freedom to create closed source software, and he has the freedom to not buy it. It's as if it's imposed upon him. Maybe he should think about that.

As far as the double think goes when it comes to making money. Well, Free software apparently makes it to where developers keep the money or maybe the users, who knows:

…with this model there would no need for publishers at all. All profits would go to developers, the people who deserve the money and did the work. No need to spend on marketing or distribution either, ergo no need for publisher.

Free software is important. Free software takes the power of the CEO or director of a company and distributes it to every single user of the application. Free software is about transparency, and the ability to be less ignorant to malicous code inside software.

However, when reality sets in:

Feeding the kid, lol. As if anyone would have to starve in a western country. Here in central Europe, you certainly don't need work at all for this, there is basic coverage.

Someone's clearly never been poor.

Regardless, the point I'd like to make here is that being a software developer does not mean you are incapable of doing any other sort of work and are a charity case if you can't find a job that meets your standards.

So on the one hand as the developer you'll reap the rewards of all your hard work, but on the other you won't really have any money and "lol fuck you and your kids, get another job, moron," and they apparently don't see the connection here.

There you have it, yes you can make a living and feed your family (as if children are the only dependencies people can have, then again I guess many of these people live with their parents) but really only if you're lucky enough to work at Red Hat or GNOME, or you get a job working some place else.

I definitely see this approach as the best way to increase software investment and development. Everyone knows you do your best work, not when secure in the knowledge you can work all night getting that bug fixed and be proud, … but instead when you gotta get in bed by 8pm because you've got to be up early enough to start up the deep fryers at work; hopefully tonight you'll be able to get on that issue someone reported five months ago.

Is PHP out of fashion?

One thing I keep running into is the claim that "PHP is out of fashion," which I don't quite understand considering PHP is the most popular server-side language on the entire Internet, and many of the top websites in the world use it. Indeed, even on Twitter recently I had this conversation (edited for readability, see link for context):

Faizan Javed (‏@faizanj): A bigger issue – what is it with valley startups and PHP?
Tony Showoff ‏(@TonyShowoff): What do you mean? The polarisation of it, to where either it's evil or it's the only thing used?
Faizan Javed (‏@faizanj): the intense focus and controversy over an arguably out-of-fashion language.
Tony Showoff ‏(@TonyShowoff): Java is also "out of fashion" but still used, PHP is used by more web sites than any other language. I think it's inadequacy. A lot of things go in and out of fashion, but fashion doesn't reflect usefulness. Remember the coming p2p/push/xml/etc revolutions?
Faizan Javed (‏@faizanj): one can argue Cobol and Fortran are also still useful in their domains. But hip, cool and mainstream they are not.
Tony Showoff ‏(@TonyShowoff): So is hand looming one could say, but half of all internet sites don't use COBOL and half of looms aren't hand driven.

Like underwear, PHP is becoming cleaner, as if it's been washed with Tempa-Cheer on double rinse at high heat.

I think he does bring up a good point and question though. Are COBOL and Fortran fashionable at all since they still are in use, mostly in the realm of maintenance? Well, maybe, but I don't think so. As I tried to point out as best I could on Twitter, niche use cases are not the same thing as something being ubiquitous. Just as you can still find handloomers that doesn't mean machine looming is falling out of fashion, despite the rise in custom hand made items on etsy.com

I think people often confuse what's cool with what's in fashion and what's useful or available. This is less of a big deal in pop culture trends, but in the computer world it doesn't really make much sense. Sure, PHP may not be cool, I'm not sure if it ever was, but that doesn't change the fact that to this day when you want to find a web host, almost always they have PHP hosting available and not much, if anything else. Despite Python and Ruby becoming more hip, along with Erlang and the less useful other things which are some goofy spin off of another thing, they simply aren't available everywhere or ubiquitous.

So, in a sense, asking whether or not PHP is in fashion is sort of like asking whether or not underwear is in fashion. Sure it may be cool, or sexy, not to wear it, but for the most part you'll find it everywhere you look. Is that a bad analogy for PHP? Maybe, but reflecting PHP's problems over the years, I think it's pretty apt, but like underwear, PHP is becoming cleaner, as if it's been washed with Tempa-Cheer on double rinse at high heat.

But what about the numbers (click image for source information)?

stats-w3techs

php-trend-201301-netcraft

And finally, what about as far as community help goes? After all, a programming language's success and usability these days often relies on thriving communities. Well…

tiobe-community-stats

Uncool? Maybe, but no programming language has ever been cool. Out of fashion? I don't think so.

Vi vs Emacs, nope they're both terrible and obsolete

Earlier this month Linux Magazine carried an op-ed titled "The End of the Editor Wars," (more discussion) discussing the age old argument of vi vs Emacs, or really vim vs Emacs these days.

I've been using Linux and Unix for at least a couple of decades and it's an argument I've never understood, because both editors are total garbage, but especially vi. There are so many alternative, better editors to choose from.

If we only talk about the editor wars in the sense of vi(m) vs Emacs then certainly vi has won, and I think there's some fairly straight forward reasons for that:

  • vi comes on everything remotely POSIX or Unix compliant
  • Some people pride themselves on the overly complex nature of vi(m) over other editors, you can even find people swearing that vi(m) with tons of weird extras is superior to a full IDE such as PhpStorm or Visual Studio. I guess this can be true in the same way that hang-gliding is faster than super sonic air travel. In short, and I say this with the up most level of offence: these people are liars, morons, or delusional. There's no way it can possibly be true.
  • Emacs, in my experience, was always more bigger with people more apt to use Lisp, and nobody but supervirgins and beardos use Lisp. ((((know(((what((((((()()))))I((((((((((((mean?

The entire vi vs Emacs argument is really like two slow kids jumping off the short bus, then proceeding to beat the hell out of each other in the Waffle House parking lot over the who is the heavy weight champion of the world.

One may win, but they're both still retarded.

There are tons of editors which do way better at everything in comparison, to either, but especially to vi, as vi does everything in the worst way possible.

In other words yes, vi won, but they're both still crap.

Even today distros like Ubuntu override things like visudo to load into nano, *not* into vi. I think this is wonderful and I pray for a day an easy editor replaces it completely, maybe even easy editor from the BSD universe, that works fine too.

Vi comes from a time when there were limited keys on a keyboard, and instead of using escape and control to manage the program (used in a limited way, escape especially in that it brings up command mode), they devised a brutally complex and illogical system for editing which persists to this day, it is truly for the masochistic and pretentious.

Knowing the basics of vi in that knowing how to do basic editing and also how to escape+qw! or wq is important if you're a sysadmin, but unnecessary for everyone else, and as soon as you can install any other text editor, you should, and most people do.

I understand personal preference exists, but it says a lot about someone's personality in that they'd honestly say vim is better than a real IDE on X and they can work "faster" with it. That can only be an absolute lie or a delusion on a David Berkowitz level. The dog is barking at the vi masochists and it's saying "hold on to a turd and call it gold, after all, you'll gain +100 nerd points in the valley."

How Evan Doorbell Become a Phone Phreak

A semi-well known early phreaker known as Evan Doorbell, who is so well known in the normal world he doesn't even have a Wikipedia article, made a series of recordings (podcasts as the kids say) about how he became a phreaker.

These recordings don't just contain his personal history, but are full of great records of old busy signals, rings, phone company error recordings, and tons of insight into how a lot of the old stuff worked. They're extremely well edited as well, making them even more entertaining.

If you're interested in this kind of thing, I suggest you these out (mp3s taken from Phone Trips to save their bandwidth):

Episode 1 [ mp3 (00:25:24) @ 128kbps ]

Evan recounts how he first began getting curious with phones due to, what he felt, was an error message given in a slightly sexy manner. He reviews different error messages and error codes, and goes into how he speculated what different error codes meant. I think the most interesting aspect is how he talks about dialing special codes such as 660 (a "party line" out of Long Island, New York), figuring out how tones were different between the phones and phone company equipment, and some other insights.

Episode 2 [ mp3 (00:27:00) @ 128kbps ]

This begins in the summer of 1970 and how he's at summer camp and begins to broader his experimentation with the phone network. Including: how dialing 1 before an area code did not work where he lived, yet the phone company said to do this way; how the phone company changed their dial tone in 1965 (in his city); test circuits; and getting into figuring out how all of these things had to do with the type of switching equipment. And also, exploring phone prefixes, phone intercepts, and more.

Episode 3 [ mp3 (00:20:00) @ 128kbps ]

In this one Evan goes down to Atlanta, Georgia on a family trip and discovers more differences between Atlanta and Long Island.

Episode 4 [ mp3 (00:30:25) @ 128kbps ]

Interesting codes (prefixes, half numbers, etc) out of Long Island, NY in the late summer of 1970.

Episode 5 [ mp3 (00:32:42) @ 128kbps ]

Evan gets his own phone line as a teenager on a new prefix and tons of new things open up.

Episode 6 [ mp3 (00:34:50) @ 128kbps ]

An overview of the old billing "message" units, as used in the New York area in the 1970s. Even more recordings and information into party lines, phone switches, etc.

Phone Phreaking and Party Lines (Incomplete)

When talking about phreaking and party lines, sometimes there's slight confusion when it comes to younger people or non-phreaks, because there's the official term Party Line, which you can read about on Wikipedia, and the more colloquial term used among phone phreaks also just regular people screwing around on the phone in the 1970s.

Party Lines are basically like conference calls and phone companies had official ways of doing them, mostly through special dial ins and things like that. Everyone would dial a special phone number and all be connected together (one manner), and you can read more about that on Wikipedia.

At other times when people referred to party lines (especially in the phreaking community) what they were referring to were things such as:

  • Dialing test circuits, which would play a constant 500Hz tone, then flash the phone (fast hang up on old telephones), which would stop the tone, but keep you on the line.  These old test circuits no longer exist, instead have been replaced with ring-backs.
  • On many switches years ago, error messages such as a phone being disconnected would be played from one place, so if people made the same "mistake" in dialing, they would be able to speak to each other.

Among others, if you have another way this was done, please detail it in a comment and I'll add it.