- DNMA92, ath9k and hostapd with Voyage Linux
- Slides for Open Source Developer talk at SFD
- Open Source Developer talk at Software Freedom Day 2009 HK
- Building compat-wireless drivers for 2.6.30
- leds-alix2 module in 2.6.30 kernel
- squashfs 4.0 on Debian Lenny and 2.6.30 kernel
- Upgrade Debian Etch Xen 3.0.2 to Lenny Xen 3.2
- Modrewriting viewcvs to viewvc in Apache2
- Upgrading Asus P1-AH2 with AMD Athlon 64 X2 5050e
- Debian Lenny Upgrade Experience
DIY Open Source Project (Part 1)
Nowadays, the easiest way to setup an open source project is hosting via sourceforge.net. But did you ever think about hosting a project by yourself so that you will have complete control of the project and not dependent by others? My project, Voyage Linux, is built by me little-by-little, bit-by-bit over 4-year time span. At the time of writing (Sep 2009), the project homepage has over 10,000 pageviews per month, the community mailing list has 430 subscribes, and 13 country mirror sites from sponsors.
This series of articles documents my experiences on setting up open source project totally by yourself. Part 1 of this series covers the preparation before setting up open source project that includes the following topics:
- Setting up dedicate Linux Server
- Selecting ISP
- Domain name registration
Dedicated Linux home server
Apart from my Windows desktop and Mac iBook for developement, you need a dedicate linux server to facilitate various purposes. Externally, the server will used to host project website, mailing list and source code control at start. Internally, it serves as network drive that mount for samba access for my development work. My Linux server is a Debian, starting from Woody and is upgraded to Lenny now. At start, I built the Linux server with a jumbo aluminum enclosure and more fans for good ventilation. Eventually, I find out it is waste of space and noisy. Right now, my advice to build your home Linux server will be a barebone-class desktop, energy efficient and silent as you will run your server 24x7. For more information on how my Linux server looks like, you can follow this link.
Selecting ISP
Next, selecting ISP is also an important task since ISP usually requires you to bind into a long term contract (usually >=12 months) that you will find hard to switch your ISP even if you are unsatisfied with them. My selection criteria of ISP are (in order of importance):
- no blocking ports - port 80(http), 22(ssh) and 25(smtp) are very important!
- symmetric downlink and uplink
- reliable
Since you will run your own web server and your project website may provide source code and/or binary downloads, uplink bandwidth becomes important for better download speeds for your users. Most ISP offering ADSL with asymmetric downlink/uplink bandwidth is unsuitable for running your OSS project. Cable link has better uplink bandwidth, but the links are usually shared so that you may experience uplink slowdown during busiest hours. In the old days, I used to have a VDSL modem which provides symmetric uplink/downlink, and the speed is good. However, after moving to new apartment, the ISP has no coverage to my apartment any more and I have to use cable links indeed it blocks port 25.
Speaking of reliability, there are two areas to concern: 1) the link reliability; 2) the modem reliability. First, if you choose an ISP with good reputation, it doesn't means the link is reliable. If your ISP leases the lines to other 2-tier ISPs, you should be aware. Some inexperience technical staff may "occasionally" un-patch your wire in the switch when they install a new client near your apartment. I have such experience twice. As I subscribed a provider which uses monopoly cable technology I never experience such "human error". Secondly, your modem may somehow malfunction after a couple of long time use. My cable modem exposed such problem. Even if I reset my Linksys router that used to bridge my local network and outside internet, the link is still unreliable although the router can get an IP lease. This situation will only get resolved until I manually reset the modem. This is not nice through, as hosting your own OSS project is not 24x7 guaranteed.
Domain name registration
In my experience, domain name registration process has two parts as it is separated into 2 invoices, financially. The first one is to register your domain name from domain registration service, in which the first cost comes from. The second is finding a DNS provider to host your domain name, that is the second cost. Some providers like dyndns provide one-stop service. But dyndns does not provide .hk domain registration for voyage.hk domain so I have to pay for two services separately. Since I used cable modem and IP is leased from the ISP, I used dyndns service to host voyage.hk domain and used dhclient to update the IP of voyage.hk in dyndns's DNS periodically.
Conclusion
In Part 1, we cover some preparation steps for setting OSS project including topics like home Linux server, ISP selection and domain name registration. In Part 2, we will explore the basic setup of OSS project:
- Project Homepage
- Mailing List
- Version control system (VCS)


