Showing posts with label open source. Show all posts
Showing posts with label open source. Show all posts

Aug 13, 2009

Confessions on Retirement

Back in June I announced that I would no longer be working as a programmer, at least temporarily.

That is not entirely true, and over the last little while I've come up with a few scenarios where I will be writing code:
  • Open-source software - I still have no problem with submitting patches to open-source software, or creating my own open-source works. While I don't believe that users of open-source software should be required to give back to the community, I do think that if I'm using the fruits of all their hard work, it's only fair that I give something back now and then. But that's a personal philosophy, and I will not tell others to do the same.
  • Coding for myself - this has a bit of overlap with the previous one, since contributing to open-source helps fulfill some personal obligation or whatever you want to call it, or it helps improve the tools that I use every day, so you can say that any open-source contribution I make is basically coding for myself anyway. However this point is more for non-open-source projects I may undertake. For example, if I should decide to start my own business that uses some kind of software, it's likely that I will be writing some code. Should the healthiness of the business depend on others not having the software, then I will likely keep it proprietary. However patches and tweaks I make to open-source software that I use would be contributed back (well, they'd have to be if it were a GPL'd library).
  • Small Contracts - this is the main confession I have to make. I don't like coding sites for other people's business, mainly because they usually aren't a business I'm really all that interested in, nor do I have much stake in the gains of the business. However at the moment I am a student. Other people have money; I do not. So small contracts are a good way to get a few bucks on the side to help pay for food and rent. Since people giving out small contracts usually don't care too much whether you like their work or not provided you do a good job, there isn't really any issues with my actual sentiments towards the work.
So those are my confessions, sorry for the misleading post saying that I was retiring from coding - a few people who know me expressed shock at that announcement. I still am sorta retired since I won't be doing any full-time jobs in software (unless it is for myself), however I'm not totally out of the biz.

Jan 27, 2009

OSWs + Profit == Ethical?

The other day I posted about OSWs (open source websites, I shortened it because I might be talking about this a lot) and what their feasibility would be.

I've been thinking about this further and have come up with more ideas. One major difference between a web app and a regular app is that web apps require hosting. You can't just slap it up on SourceForge and say you're set.
The problem is that hosting costs money. Under the assumption that your site actually starts getting traffic, I don't feel that it is really fair for you to have to foot the bill while lots of other people are using your site. Not only is it unfair, but quite unsustainable unless you have another job which rakes in the dough.

This got me thinking about revenue models. If you look at other free sites, the make money off things like advertising, market research, donations, merchandise, etc. For the first two you need a lot of traffic to begin with, so if you don't have something great to offer users then it isn't really a great platform. If you're targetting a niche market with your OSW, then you're out of luck here. Merchandise works if your site has a branding, like webcomics or unique online games like Kingdom of Loathing (KoL). But if you don't have this, you're left to rely on donations. While I'd like to think if I started a site I'd get enough donations to cover the costs, but I don't think that's a realistic assumption (KoL does support itself through donations, however it gives rewards to those who donate).

The idea I'm having for a site (I won't tell you about it yet...ooh suspense! and no, it is not porn) allows users to create their own content. Ultimately I'd like to provide the tools for creative and high quality content.
Although the site itself is free (as in freedom), the content itself may not be - that's up to the content creator to decide. Should they choose to, the content creators may restrict access to their content except to those other users who want to pay for it. A source of revenue for the site would be to take a percentage of the money that content producers receive when they charge for their content.

Here is where the question of ethics comes in. Since the site is open source, it may be the case that other users would want to contribute in some way to the site, be it through code or documentation or whatever. Is it wrong to make profits off of this? Suppose somebody comes up with an idea for a sweet feature and codes it in and gives it to me, and it shoots profits through the roof. Is this unfair to the person with the sweet idea?
My answer would be no, provided the contributors know that the site does make profits. In that case it is fair for them to either not contribute, or to request some sort of compensation - either through money, or through privileged services through the site, or something.

For those few of you who actually read this blog, what do you think? Is this fair, or am I sounding like a douche in a suit?

Jan 25, 2009

Open Source Websites?

I've had an interesting thought over the last little while. I've been thinking about a cool website to build (I'll write more about this in a later post once I get more shit together) and I'm hoping to release all the code for it under the GPL, with the exception of things like DB username/passwords and things like that.

A problem is that websites cost money. If they get popular, then that amount of money is not exactly trivial depending on how complex and bandwidth-intensive your site is. Some kind of revenue stream is important, unless you want to shell out cash from your pocket for your expenses. There are a few easy methods of gaining revenue like advertising and donations, however if I were a businessman I wouldn't want to rely on these too heavily (unless I was Google) as they aren't exactly reliable.

I had the interesting pleasure of hearing RMS speak yesterday at CUSEC. He defined three sort of groups in which you can put works and explained how copyright "should" (in RMS's definition of should) apply to these different things. The three groups were: tools, subjective works, and creative works. The first included things like software, and he stated that they all should be free. My idea for a site is a platform on top of which creative content is built, and according to Stallman this is a tool and should therefore be free. The second one I'll sorta gloss over because it doesn't really apply to my project, but it is things like news articles and blog posts and what-not. The third one is things like music, movies, or art. This, he states, should have some sort of copy protection to provide incentive for creators to create, but the length of the copyright should be quite limited to like 5-10 years. Therefore the content which the users of my site create is copyright-able.

This gives me another idea. While the code for my site would be open-source and anybody would be allowed to take it and use it however they choose, the content hosted on the site would not always be open-source - I would give the option for users to release their content to the public domain, which they may or not do. Content creators will then be able to restrict access to their works through payment, and a percentage of this payment would go to the site as a hosting fee or something1. However I could add something that say if they have a non-public-domain work, then if they leave it or something for a year it transfers to the public domain, something like that. Then other people would be able to take it and mess around with it and potentially make it better.

This type of site no longer requires the privacy of source code as a barrier to entry of competition, but instead relies on the built-up content base of the site. The way you would remain competitive is by constantly improving the quality of your content and your application.

But what would keep people from "stealing" your code? What if they take it and make a better product? Well that is where the GPL comes in. Suppose they "steal" my code and alter it to add a sweet feature or something. Since it is under the GPL, I can just take their source code and put the feature into my site.
There is always this risk that they will make a huge feature that makes the site so much better that they gain a huge user/content-base advantage over me in a short amount of time, but whatever. I'll take the risk.

Another question to ask is how well does the open-source model apply to websites? While the four freedoms still apply to these types of software, the value behind the software is quite different. In a content-based website, much of the value is in the content and not just in the application itself. Compare this to an application like OpenOffice, where the value of the program is in what it does for you as a tool - in the case of OpenOffice, it makes it easier to write documents.
I'm not saying that there is no value in making a website open source (it has done wonders for Wordpress), however there is less value in its use as a tool and therefore there is less applicability of open-source.

1 This has probably been done before, and I'm expecting to get like 5 comments with sites that are doing this.

Nov 24, 2008

FOSS and the Software Industry

I read an article on Slashdot about how open source is slowly eroding a lot of the commercial applications out there. This isn't really anything new, it's been happening for years. However it seems like the quality of open-source is continually getting better and it's just a matter of time before it becomes "good enough" for other people to want to use it over the proprietary equivalents. Even the Economist thinks that open-source is going to be bigger - not that we really needed them to tell us it was, we knew it already.

I'm not trying to say open-source will eventually wipe out the market for proprietary software. Here's what I think will happen. Anything that's fun or interesting to code will eventually be taken over by open-source. These are things that programmers such as myself would not mind doing in our free time as one of those things, you know... what are they called? Oh right, a hobby. Like how some people spend tons of time building model trains or burning wood, we sit at our computers and churn out code that does cool stuff - well some people do, I tend to do more experimentation with random things and blog about them.

So what does that mean for professional software developers? Probably that demand for us will shrink. People won't need us to develop their software, since there are open-source versions that are as good as whatever we'll put out. People will still need custom-made software, or they won't want to comply with the GPL, or will want to make games (note to self: write about how the open-source development model doesn't really fit gaming), or whatever. There will still be jobs for us.
What I'm worried about is that most of the interesting jobs will be gone. We'll all be stuck either working for slave shops, fancy new web 2.x startup ideas, or content-management systems. Or things like that.
So I'll stop and make a confession here. I'm going to school. Not in anything really related to computers. I've been doing classes on and off since I graduated, but I'm starting to look into it more seriously. My rationale is this: I enjoy programming, but there is such thing as too much of something you enjoy, and it makes you not enjoy it any more. Therefore, I want to work in something else I enjoy, and then come home and mess around with software. Much more fun that way.