Project: http://webware-sandbox.sourceforge.net/
The Sandbox is a great place for anyone in the Webware community to share fledgling code. Join today and upload your modules! The Webware Sandbox is the "code wiki" of Webware.
The Webware Sandbox provides a place where just about anyone can get CVS write access and upload their their code into a directory with their name. The Sandbox makes it easy for us to share code, get feedback, etc., without the delays in considering what should go into Webware-proper and what shouldn't.
Another benefit is that "cvs update" will get everyone's fixes and refinements, and is much more convenient than rummaging through emails and attachments.
Please upload your "shareables" here! Don't be shy if they're not finished, perfect or documented. The Sandbox is provided for such contributions.
You may also find mature, quality products in the Sandbox for use in your projects.
To read the Sandbox, check out a copy of the source code with cvs:
$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/webware-sandbox login $ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/webware-sandbox co Sandbox
You can also browse the cvs repository online
To create cvs tags and branches or upload your code, please read further.
The glass is half full. That is to say, if someone uploads a buggy module with no docs or test cases, they still did a good thing by providing some sample code. Feel free to give authors feedback, but be polite and constructive. Also, don't expect that contributors are under any obligation to fix bugs, document work, respond to requests, etc. Those are the natural expectations of serious projects like Webware, just because someone uploaded a module doesn't mean they're commited maintaining it.
All of these kinds of code are welcome in the sandbox:
Abandoned modules are fine too, if you think the module has some interesting or novel ideas. If you don't plan on maintaining or developing the module, you should indicate this in the docstring so others don't expect too much from the module's future.
Don't be shy about contributing. You will have your own sandbox within the Sandbox to play in (read further for details).
There are NO downloadable file releases of the Webware Sandbox (such as tarballs). Traditional releases would defeat the purpose of the Sandbox. However, feel free to tag all or any part of the Sandbox cvs as you desire:
$ cvs tag echuck-works-for-me-20030228a
A recommended format for your tag name is USERNAME-COMMENT-DATE.
You may wish to suffix with a, b, c, ... to account for having to tag more than once in a day.
Now that you have a tag, you essentially have your own release. You can access it by passing -r TAGNAME to the cvs update command.
This approach to accessing software can even be preferable from various perspectives. Upgrading the workspaces is generally quicker and lighter than downloading another tarball whose contents are probably 80% the same as your current. Also, you can revert to earlier versions of the source right in place (cvs upd -r <previous-tag>). Also, you can easily review your local modifications with cvs dif | less and such mods are generally easier kept.
Don't forget to include -dP in your cvs update or to configure your .cvsrc file to do so for you.
If you need more information about cvs tags, peruse cvs documentation such as http://cvsbook.red-bean.com/ and http://www.cvshome.org/.
Send your request to webware-devel@lists.sourceforge.net. Be sure to include your real name and your SourceForge username. This request isn't meant as a barrier to entry, we won't reject you or require that you prove yourself, it's just a matter of administrations. But we do have some standards for using the repository...
These requirements are lighter and simpler than most projects. We're trying to encourage the free flow of Webware-related code.
You must be pro-Webware, pro-Python and cooperative. This is a Webware community project.
You must be a subscriber to the -discuss and -devel mailing lists for Webware:
http://lists.sourceforge.net/mailman/listinfo/webware-discuss http://lists.sourceforge.net/mailman/listinfo/webware-devel
Uploaded software must be Open Source and must be under an Open Source license. Besides being important for the community, this is also a SourceForge requirement. All software is presumed to be released under the Python Software Foundation License unless you specifically note otherwise. If you aren't using the PSFL license, you should make note of that in the docstring or comment at the top of every effected module.
You must have a SourceForge account, http://sourceforge.net
Usage of the Webware Sandbox resources (web site, cvs, etc.) exist under the SourceForge terms of service.
Before adding your own original source files, you will create a directory in the repository named identically to your SourceForge username and put your contributions there. This gives each user their own namespace.
You should also consider adding a simple __init__.py file (containing at least # since cvs doesn't like 0-byte files) so that user can say from <username>.<module> import <Class>, like from echuck.Misc.MLArgs import MLArgs
Of course, with or without the __init__.py, any Python programmer can augment PYTHONPATH/sys.path and do from Misc.MLArgs import MLArgs.
In addition to an __init__.py file, you should also consider putting an index.txt file in your directory. This file can list all the modules or packages you want to advertise, with a brief description. (But we still have to figure out the role and format of this file; eventually it will be used to index the modules on the http://webware-sandbox.sf.net page)
You will not alter other user's directories without their permission other than making cvs branches and tags and modifying those branches that you make. When making a branch of someone's code in order to explore your own ideas, please prefix the branch name with your username (example: echuck-experimenting-01).
You will not mix tabs and spaces in the same file for the purpose of indenting your Python code. Since Webware uses all-tabs, that's preferable, but whatever you decide please don't mix tabs and spaces.
You will not alter this file without permission from a Webware Sandbox admin. Current admins are:
You might also post your feedback and suggestion on webware-devel@lists.sf.net.
Subscribe to webware-sandbox-checkins@lists.sf.net to receive notifications of any changes to the CVS repository, if you are curious about what other people are doing. Subscribe at http://lists.sourceforge.net/lists/listinfo/webware-sandbox-checkins