Net Neutrality

So, there is this argument/debate going on about net neutrality.

If you are reading this, then the internet is likely a major part of your life. There is a good chance that it is involved in everything you do in some ways. If you are reading this on a two to five inch screen, then it is almost guaranteed.

I know that I am always on Facebook. I get recipes online. I use the internet to learn about everything. Even if I don’t play a lot of online games these days (time issue), the internet is where I get most of my games. Seriously, Origin and Steam take up the vast majority of a terabyte hard drive with just over a hundred gigs free on it (For those who don’t know, Origin is EA Game’s version of Steam. If you don’t know what Steam is, it has been described as “The iTunes of Games.” If you don’t know what iTunes is, I think you are probably here by accident because you are trying to figure out who left their phone laying on the bench in some public place).

Now, how does this all apply to the issue of net neutrality?

The internet is a platform that ties pretty much everything together. It is made up of a massive number of networks that are tied together by a massive backbone. That backbone, and its connections to the smaller networks, is where the battle is taking place. And it is a battle. There may not be guns involved, but the outcome will impact all of us in one way or another.

A few decades ago, it was decided that this backbone (or these backbones rather) would carry data between networks in a neutral manner. Data going to Yahoo and Google would have the same level of priority as data going to a blog or a personal web page. This simple concept built the internet as we know it. This concept was the most important building block that allowed us to build the world we have today. It is what allowed small time web developers to create empires. It is what allowed Facebook to ever become a thing. It is what allows people on AOL to access websites that are not on the AOL network (If you have been online long enough, and started out on AOL, you may have a special understanding of this one).

The concept is simple: I pay my ISP. Facebook pays their ISP. The ISP’s then pay for access to the backbone. We get access to each other (i.e. I can access Facebook). Everyone pays for what they use.

Now, enter the idea of eliminating net neutrality. Suddenly, I pay my ISP. Netflix pays their ISP. Our ISP’s pay the backbones. So far so good. Now, suddenly Netflix gets a letter from the backbone provider that goes something like this “Want to keep your bandwidth up? Send us a check, and we will make sure you get better speeds.”

Wait a minute. They ALREADY paid for that bandwidth. They shouldn’t have to pay again.

Another form that it can take, that is a little less obvious, but just as bad, say it’s not the backbone that is doing this, but MY ISP. Say, Time Warner sends Netflix a letter saying “We have a pool of customers in common. If you want them to continue to enjoy the Netflix experience, you are going to pay us.”

Wait a minute. I already paid my ISP for just that experience. I already pay a MASSIVE amount (compared to the speed we get Americans pay more for internet access than most of the rest of the world) for access to the internet, and to get good speeds. The ISP specifically said that these speeds are ideal for streaming movies.

With net neutrality, we all pay for the bandwidth we use, the ISP’s and the backbone providers get filthy rich.

Without net neutrality, we all pay for the bandwidth we use, and content providers also pay for the bandwidth we use. They pretty much have to pass that extra expense on to us if they are going to stay in business. After all, this whole most expensive crappy internet in the world thing impacts them too, not just us.

The end result is that any company large enough to be able to afford to pay the kickbacks is going to be able to keep going, but their prices are going to go up. I am probably one of the most anti-corporate people I know, but I am not likely to blame them when that happens. Some of the really large ones may be able to balance the costs in order to keep the price hike from being too much, but those in the middle won’t have an option.

The smaller companies we deal with on a day to day basis? Well, they are going to have to come up with ways to make the experience of accessing their services comfortable with sub-par speeds, because in a world where people have become accustomed to being able to download data at high speeds, a slow page load will be sufficient to kill many companies out right.

If net neutrality dies, then so does an important part of the net. Net neutrality is what keeps the internet grassroots alive. I personally have a blog (you are likely reading this either on Facebook or on that blog). My blog is hosted by a small time ISP. They have server banks in three countries, but they are still tiny as far as ISP’s go. If net neutrality dies, I hope that they can afford to pay the extra fees to keep speeds decent. If they have to raise their prices to do so, I will completely understand.

The better option though is for us to find a way to make the politicians understand that net neutrality is important to the little guy, and the little guy is who votes for them. We need to find a way to insure that the politicians feel that their stance on net neutrality can have a real impact on their electoral chances. Just as importantly though, we have to make sure that this happens while the opposition is spending massive amounts of money to make things go their way.

After all, in a post “Citizens United” America, their stance on net neutrality already impacts their chances at reelection, because the telco’s are spending money on lobbying and advertising. Guess who is going to get the big corporate bucks for their campaign war chests.

Display Your License Proudly

When a developer is creating a library, or any other software package, that they want others to use it is absolutely vital that they choose a license for the project that will allow their target audience to use it.

It is just as important that the licensing information is included among the files that are downloaded when someone gets a copy of the library.

Most people remember these steps, but they are occasionally forgotten.

What is JUST AS IMPORTANT however, is to find some way to inform people who are downloading your code from a website or some other source of what the license is before they download it.

If I don’t know the licensing terms of your code, I am most likely just not going to download it. If I am working on a project, and I am looking for a library to make it easier, then I am looking for libraries that are released under compatible licenses. If the license is incompatible, then the code isn’t worth much to me at the time. It is a waist of my time and your bandwidth for me to download a library I can’t use.

This is especially sad when the developer has taken the time to create a beautiful website with a lot of description of what the program is, and does, but then they forget one of the most important pieces of information.

Please, if your code is licensed as GPL, say so on the site. If your code is BSD licensed, say so someplace on the site. Whatever license you use, display it proudly. If you are using a git repo, and it is set up to be web viewable, this is perfect. You can include it in the README file that your git repo software most likely wants to display to the web anyway.

If you are just offering tarballs/zips. then just include it on the download page.

To be honest, there are two common practices that I have seen most often on websites for successful projects. That is to either include the licensing information on the About page, or to just have a page that specifically addresses licensing issues. In either case, these would be included in the navigation bar/pain/whatever on the website.

Once you have already done all the work of making the code worthy of public display, you owe it to the project to take the last few steps needed to encourage adoption.

vi And vim

I keep seeing a comment pop up here and there on the web that is starting to anoy me just a little. Long time vim (vi) users seem to be constantly explaining how wonderful their favorite editor is and then say that there is a steep learning curve to using vim.

Quite frankly, that is a load of bull.

In their defense, for many of them it has been many years since they used anything but a full featured text editor.

They forget that their target audience is used to notepad and the like where simple things like search and replace are still new and shiny toys.

I say this because most of these speaches at least indicate that they are targeted at relative newbies.

A word of advice, it takes less than five minutes to learn enough about vim to do everything you can do in notepad or nano.

Unless you are using something similar to emacs, or one of he vi offshoots it will take you less than a day to get up to the same level of productivity in vi that you are at in your current editor.

At that point you can learn all the scary bits that everyone talks about at your leisure.

Don’t be scared. Give it a try. Worst thing that can happen is that you don’t like it and go back to whatever you are already using.

And for those who have found the ideal text editor for use on their local machine, vim is still worth playing with. It truely excels at editing files on a remote server.

If you have shell access to the machine, then there is a good chance that vi is already installed or that your admin will be willing to install it for you.

If you are the admin, there us a version of vim for pretty much every OS. 🙂

Vim is not a pretty editor, but what it lacks in beauty it makes up for in style.