This is the first real project I've started working on, although it is still primarily for myself, it doesn't mean I'll be compromising things for other people using it just for me. Although this is only version 0.8.1, it already has some features that I wouldn't of put in if I was doing it just for myself.
Anyhow, time for more detail, like what the hell it is. MyDB is a lightweight, yet powerful, database class. It grew out of part of Location Unknown, I was looking at various database engines, but there was always something wrong, I ended up deciding that I'd write my own. It took me around a day to plan and code the original MySQL version. After a couple of days of thinking about it, I decided to untie it from MySQL, adding support for other databases, such as PostgreSQL and SQLite. This lead to the class getting two extra functions, to keep one of the principals I had set myself when I decided to untie it from MySQL - Make sure as little as possible has to be changed when changing what database server you're using.
That pretty much tells you almost everything you need to know about it in one paragraph. But that doesn't mean I've got nothing more to say.
One of the principles I set out right in the very beginning was it would have very clear, commented code, as to make it easy for other people to build upon it, and hopefully release it to the web developer community. Modify it to your need, and if you're kind, release your code (in accordance with the license, of course).
Personally, I doubt I'll ever need anything more than MySQL, but I'm going to try and support PostgreSQL (anyone who can give me PostgreSQL hosting will be thanked) and SQLite, one of the main principles I set out when I decided to make it support more than one database server, was I'd make it so you have to change as little as possible, and that's likely to just be the connect function...
What licence am I going to release it under? I want this to be open source, yet I still want control over it, I decided to go with the Creative Commons Attribution-NonCommercial-ShareAlike 2.0 License. I'll explain my reasons for each part:
- Attribution
- I don't want this script to be slightly modified, and then be given no credit at all
- Noncommercial
- Many complex reasons, although, I'd like to say, anybody who wants to use it commercially, please do not hesitate to contact me
- Share Alike
- To stop people from changing the license to one that I count as inappropriate
Please, check it out, download it, or at very least visit it's website at http://mydb.geoffers.uni.cc/.
Comments
There aren't any comments yet, but feel free to leave one regardless.