let's open source everything once and for all
The Karma site is intended to be a free and open environment where people can work together. The site is focused on sharing resources that people already have. Resources could be anything from physical resources to knowledge and help. The system core is not going to be like a traditional resource sharing system based on direct trade. The site is going to contain a "karma"-system that can be used as a tool for building networks of trust between users who dont know each other IRL.
 Basic philosophy
If everyone gave more than they took, everyone would get more back.
 Rules of thumb
- No costs / no profits
- No money
- No direct trades
- Karma incentive
- Share everything
- Request everything
 No cost / no profits
Money should under no circumstances be used in this project. When the incentive for actions is money, the result is far too often a short term profit based thinking. People will at some point simply stop doing the right thing. Since this project will use resources that most people already have, we don’t need to involve money at all. Computers, Internet access, time and the will to create is all that is needed. Time is not money. Time is a prerequisite for doing things. When the project gets so large that we need more computing power and faster Internet access, this should be done by using the basic philosophy. Thus, contacting service providers and explain what we are trying to do, and why it is in their interest as human beings to help us out.
 No money
Money should under no circumstances be used in this project. It should not cost anything to use the site, and no one may use the site to sell things (no direct trades).
 No direct trades
A system based on direct trade (in the case when it does not involve money) is really nothing more than a system that replaces money with something else. This means that a prerequisite to get a lot, is to have a lot. It also means that the system by definition has a requirement for unfair distribution, because things do not have a “value” unless they are kept scarce. If the system instead changed so that it rewards people who give a lot, this will mean that a prerequisite to get a lot, is to give a lot. Because the site handles “everything”, it means that karma can be increased by people helping other people. No matter how much or how little “stuff” you have lying around, you can still improve your karma by helping other people. It also means that what you have to give away hopefully will end up in the right hands, e.g. given to people who really need it. One possible side effect is that people are more inclined to help people with good karma.
 Karma incentive
The basic principle for the karma system is that human behavior is shaped more by environment and experience than by genetic inheritance- something that really only gives a human a propensity for a certain response in certain conditions. This means that greed and egocentric behavior is the result of learned patterns and not just the result of “bad genes”. Individuals behave in ways only because they were somehow stimulated to do so, and manifest it with their actions. If the environmental conditions were to change, so that individuals are rewarded for being generous and thoughtful (for example, by giving more than they take), human behavior would change accordingly.
Users should be able to share any resources, services and offers.
 Request everything
Users should be able to request any resources, services and offers.
To be able to develope and run this site in large scale, the structure of the site must be done as a framework with plugins.The framework should be the “engine” of the site, thus enable developers to write plugins without knowing exactly how the core of the system works. User interface (graphics/text and css) should also be done as skin plugins to help graphical developers. Special treatment of goods, services or lending practises should be done using plugin modules and that connects to the search engine and add items pages.
 Keep it simple
The site should be created with the least technical person in mind. Everything regarding interfaces should be as simple as possible. This also applies to dialogs, messages and preferences. Show only relevant information. Always have the KISS principle in mind.
 Open Source tools
No proprietary software. Everyone will be free to use and improve the system (through branching).
 Development Zone
An idea is to set up a demo site so users can create their own sandbox, to try their plugins before submitting them as requests to the core-system.
Plugins: Skins Items
Feel free to make it better!
- Install python, git and mysql, mysql-python (mysqldb), python imaging library (pil)
- Clone repo
# git clone git://github.com/fnurx/karma.git
- Create mysql database
CREATE DATABASE karma CHARACTER SET utf8 COLLATE utf8_general_ci;
- Create database tables
# ./manage.py syncdb
- Start from karma folder
# ./manage.py runserver
- Browse local site