UbulandPython

Summary

This spec puts forward a proposal to switch the majority of Ubuland's code (currently written in PHP) to Python. It outlines the reasons for and against the idea of porting to Python, and also gives an implementation place, that would be followed if it were to go ahead.

Why?

Why switch to Python? A large majority of non-coding contributors in the Ubuland community currently do not contribute code due to a lack of skills in PHP. Most of these people do, however, know Python.

The Ubuland project has also slowed, almost to a halt and we are in dire need of programmers to help us. After several fairly unsuccessful meetings etc to try and get people interested, we are still stuck with just two major PHP programmers (one of whom is busy a lot with other things and not very good at PHP anyway). I feel that moving to Python would open up the project to a lot more people and help us get the project finished much quicker.

Reasons For Moving To Python

- More coders (as outlined above) - Simpler language, so faster development - Easier to maintain - Lots of easy to use frameworks if required - bobbo is on Planet Ubuntu so announcing the switch might get us more interest in the project

Reasons To Stay With PHP

- We already have a large(ish) (around 1000 lines) amount of code already written - It is more "standard" in the web development world - Python is harder to 'get to play' with a web server

Implementation

If this plan were to go ahead, the Python code would be kept in a seperate branch until it is feature-ful enough to fully replace the PHP code. We would instantly stop developing the PHP branch, to focus on the Python. Alpha three would be late (but is already late and not coming any time soon from the PHP branch) while we catch up, but after that alphas should be more on time, due to faster development and more hackers.

Directory structure

How should the directory implementation go? We've been thinking something like this :

templates > html | media(css,etc)

scripts

template.py (template handler)

Decision

The decision to port to Python for this project is a big one. Please consider it, and vote below by saying ACK (For yeah i want this to go ahead) or NACK (to say no) and if you want a reason why below. remember to include your name.

ACK - bobbo

ACK - nathangrubb - I'm pretty sure I'm the aforementioned guy that didn't know PHP but knew python Wink ;)

ACK - fluteflute - Why not give it a go? Learning Python could be fun!

ACK - dje - Sounds good we have/probably be able to get more python than PHP programmers

DavidFutcher/UbulandPython (last edited 2008-08-22 20:51:50 by 207-118-109-161)