Table of Contents
Contents
- General
- What does it mean that my submission has to be free?
- What do you mean by usable?
- Can I use other Free Software in my entry?
- Can I use materials licensed under a Creative Commons Non-Commercial license?
- How might I do an academic usability research project on Tor?
- Am I allowed to make separate configuration and monitoring programs?
1. General
1.1. What does it mean that my submission has to be free?
This answer has four pieces.
First, you need to license your software under a Free Software or Open Source license. This means you need to have copyright (or permission) to distribute the software under this license, or the software must be legally in the public domain or not subject to copyright (e.g., US government work).
Second, you need to submit the source code for your software or graphics. We define source code to be "the format that the author prefers to edit when making major changes to the software." For example, if you make your graphics in Blender, but then you hand-edit a few pixels of the resulting png file, you can't give us just the png file and call that source code.
Third, your submission needs to not be encumbered by patents and other issues. If the patents are yours, you need to indicate in your submission that you are licensing them to us.
Fourth, your software needs to be buildable using software either typically already installed on your target platform, or readily available for that platform. Requiring users to purchase other software (including shareware libraries or compilers) in order to use your submission is not acceptable.
[#]
1.2. What do you mean by usable?
Here's one possible answer, of many:
Usability can be defined something like this: A system is usable if it allows the user to see and/or manipulate (as appropriate) all and only the relevant information, using the fewest number of least error-prone gestures possible. This definition includes "minimalness", but it also captures other important criteria.
For example, a Tor GUI that pops up lots of dialog boxes with trivial information would lose on all counts: irrelevant information, no opportunity to respond to the computer with a meaningful decision, extraneous gesture (click OK to make the irrelevant information go away), error-prone gesture (moving and clicking the mouse in a small area are error-prone gestures).
On the other hand, a GUI that raises a tool-tip above the Tor system tray icon with a note saying "You are leaking DNS queries. Click here to fix the problem.", and which only raises the note at some good interval (i.e. not every single time that line appears in the Tor log!) would be a more usable GUI. It still requires an error-prone gesture, but it provides relevant information and a way for users to respond with a meaningful decision. The most usable GUI would allow the user to say "turn on Privoxy and configure my preferred browser to use it" in a single gesture.
[#]
1.3. Can I use other Free Software in my entry?
Sure, so long as you comply with its licensing terms and those licensing terms meet the Open Source Definition, so we can use your entry in the Tor package if it works well. We also ask that you give credit to the original authors, even if the license does not require it, because the contest wants to recognize original contributions. Don't worry, the creative application of software others have written _is_ originality. [#]
1.4. Can I use materials licensed under a Creative Commons Non-Commercial license?
No. We specify the Creative Commons Attribution license because we want to be able to distribute successful GUIs along with Tor, to make Tor widely available and usable. The Tor license allows others to sell Tor commercially, so the GUI and its components should also give that option. [#]
1.5. How might I do an academic usability research project on Tor?
A research project oriented around Tor might be interested in a combination of UI Design issues, especially around awareness. In particular, finding a way to allow a user to be aware *that* they are protected, and to understand the general shape of what *way* they are protected is a real awareness challenge. When you allow a user to configure this protection, an extra degree of information must be relayed and communicated.
Using Tor is both a foreground and a background activity: background when Tor is merely running; foreground when the user uses Tor to choose how to route their packets. It is balancing the current state, and the changes back-and-forth, that make this an interesting challenge.
The research question is how to build an interface that adequately reflects this complexity, without overwhelming.
[#]
1.6. Am I allowed to make separate configuration and monitoring programs?
Certainly. Tor is designed to be controllable and configurable and monitorable from separate processes, even at the same time, so this is perfectly fine.
On the other hand, your users may find it convenient to also have a high-level or master controller application that lets them choose between the various functionalities you've made. Maybe this comes in the form of a "more options" button on each interface; there are many approaches here. [#]