Fullscreen
[Show/Hide Left Column]
[Show/Hide Right Column]

Print

3rules

The 3 rules

Used by the project admins in the "Recruitment Ceremony". A one line set of maxims on how members of the Tiki Community collaborate.

I wish to follow the 3 rules, and also to convince anyone in Tiki community to respect those simple rules:


In brief

  1. Respect Environment
    Tiki is both a software project and a community. The mix of both, contextualized on the Internet and in real life, is called The Environment. Any change in Tiki should take in account its effect on the entire Tiki community and should allow for a balanced evolution with respect for the people and organizations that use it. Please make sure any code you commit respects the LGPL license (external link) and that you allowed to share it. Do not duplicate code or features, as this just creates more work for everyone to maintain. Re-use and extend code instead, and ask for help if you are unsure how, or unsure if there is similar code lying around.
  2. Commit early, Commit often
    SVN (>= 2.0) is the central point in Tiki collaborative development. Commits should be frequent, even in the early stages, to offer an opportunity of interaction between contributors. Early commits provide more chances for feedback and for the community to start to assimilate the ideas you propose.
  3. Make it Optional
    Tiki is used in many smaller contexts and its modularity is key to adoption in those areas. Help preserve this flexibility by making your changes optional whenever possible, accessible for tuning to the admin at least, via admin panels.


Verbose mode


  1. Think about other users
    Tiki is both a piece of software and a community of people. This combination means that we invite you, as a member of the community, to think not only about the code, but also the wide variety of people who use Tiki everyday. Consider your proposed changes in this context. We believe that a careful, thoughtful, and highly collaborative approach is a way to maintain respect for both the code and the people who depend on it. Rather than seeing Tiki as a game, we invite you to see Tiki as a manner of producing change. Recognize that your code could affect the lives of people.
  2. Share Early, Share Often
    If you have an idea for an improvement, new feature, performance enhancement, or anything else of that nature, be quick to share it. Be proud of your idea and get it out there on the e-mail list or IRC channel. Be open to questions and ideas that others may have. As you work out your ideas and implementations, share your progress and approach often. Ask for advice and feedback. There are many smart & dedicated people in the Tiki Community who love to help. Documenting what you are doing on TikiWiki.org keeps others up to date with changes. You are encouraged to create a wiki page for your idea so others can comment. Create a showcase site to show off your work in progress. Once it basically works and the community likes it, commit your code to SVN. Yes, it may be imperfect, nevertheless by following the maxim of Release Early, Release Often others are more able to help with development and debugging.
    One BIG caution: Don't commit sweeping or wide-reaching changes to SVN until there is community consensus, or at least approval from one or more of the project administrators. They are those who have that designation in the list of developers. Checking with others is the right way to develop code and helps us to avoid really screwing up other people's lives and projects. When in doubt, communicate! This could be on IRC, by email, or some other agreed upon method. For sweeping changes, it's encouraged to use an Experimental Branch, which can be merged to trunk later.
    A caution about the BIG caution : I feel it is impossible to reach consensus without effective code. Asking before is a matter of gathering information, not getting prior acceptance of something. Good decisions can provide bad implementations and in such cases there is a difficulty in correcting what was mutually agreed beforehand (without really knowing). Of course, that only applies to experienced coders who are supposed to know what they are doing. People who learn to code need to be particularly cautious. You decide whether this is for authoritative reasons or as a means of obtaining wisdom (if available). That's my 2 cents. — mose
  3. Make It Optional
    Tiki is used in the real world by MANY people for MANY different uses. Try to avoid forcing new features on everyone. Allow new features to be tuned and configured by the site admin, and, if at all possible, allow it to be turned off. At the very least, make sure that the default config doesn't change Tiki's behavior.


More good things to do



Alias






Things to discuss

  • "default config doesn't change Tiki's behavior." -> "default config is the most common/expected" (This is subjective of course, which is why we have http://profiles.tikiwiki.org). (external link)
  • Clarify expectation about backward compatibility (How and when to break things)


Contributors to this page: marclaporte31758 points  , sylvie2406 points  , pkdille611 points  , xavi1299 points  , gmartin85 points  and mose2303 points  .
Page last modified on Thursday 22 October, 2009 13:21:00 UTC by marclaporte31758 points .

SourceHistorySimilar

Main Menu [toggle]


Bugs and Wishes
  1. Report a Bug (or suggest a feature enhancement)

  2. Search Bugs

  3. List yours



About Development

Mailing lists

Extra Stuff

Teams

External Links

Full list of Wiki Pages

TikiWiki on Social Networks


To register [toggle]

To have an account at this site, please register at Tikiwiki.org (external link), and then use that user name and password to log in here.

Search a Wiki Page [toggle]

Exact match

Search Tracker Items Subject [toggle]

Keywords [toggle]

The following is a list of keywords that should serve as hubs for navigation within the Tiki development and should correspond to documentation keywords.

Each feature in Tiki has a wiki page which regroups all the bugs, requests for enhancements, etc. It is somewhat a form of wiki-based project management. You can also express your interest in a feature by adding it to your profile. You can also try out the Dynamic filter.

Accessibility (WAI – 508)
Action log 2.x
Administration
Ajax 2.x
Alert 3.x
Articles & Submissions
Backlinks
Banner
Blog
Bookmark
Browser Compatibility
Calendar
Category
Chat
Comment
Communication Center
Consistency
Contacts Address book
Contact us
Content template
Contribution 2.x
Cookie
Copyright
Custom Home (and Group Home Page)
Database independence
Database MySQL
Date and Time
Debugger Console
Directory (of hyperlinks)
Documentation link from Tiki to doc.tikiwiki.org (Help System)
DogFood
Dynamic Content
Dynamic Variable
External Authentication
FAQ
Featured links
File Gallery
Forum
Friendship Network (Community)
Gmap Google maps
Group
Help System
Hotword
HTML Page
i18n (Multilingual, l10n, Babelfish)
Image Gallery
Import-Export
Install
Integrator
Interaction
Inter-User Messages
InterTiki
jQuery
Karma
Live Support
Lost edit protection
Mail-in
Map with Mapserver
Menu
Meta Tag
Missing features
MindMap 3.x
Mobile Tiki and Voice Tiki
Mods
Module
MultiTiki
MyTiki
Newsletter
Notepad
OS independence (Non-Linux, Windows/IIS, Mac, BSD)
Payment 5.x
Performance Speed / Load / Compression / Cache
Permission
Poll
Profile Manager
Quiz
Rating
RSS
Score
Search engine optimization (SEO)
Search
Security
Semantic links 3.x
Shoutbox
Site Identity
Slideshow
Smarty Template
Spam protection (Anti-bot CATPCHA)
Spellcheck
Spreadsheet
Staging and Approval
Stats
Survey
System log
Tags 2.x
Task
Tell a Friend + Social Bookmarking 2.x
TikiTests 2.x
Theme
Toolbar (Quicktags)
Trackers
TRIM
User Administration
User Files
User Menu
Watch
WebHelp
Webmail and Groupmail
WebServices 3.x
Wiki 3D
Wiki History, page rename, etc
Wiki plugins extends basic syntax
Wiki syntax text area, parser, etc
Wiki structure (book and table of content)
Workspace Ideas 4.x
WYSIWTSN 4.x
WYSIWYCA
WYSIWYG 2.x
XMLRPC

Last Comments [toggle]

  1. Home-made fix
  2. Tutorial
  3. Hack for Multiple Uploads
  4. More findings
  5. that could work