DonationSystemSpecification

Differences between revisions 18 and 28 (spanning 10 versions)
Revision 18 as of 2008-06-11 05:36:13
Size: 3675
Editor: ip72-219-163-106
Comment:
Revision 28 as of 2008-09-01 08:28:13
Size: 5402
Editor: ip72-219-163-106
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from DonationSystem
## page was renamed from +spec/DonationSystem
## page was renamed from DonationSystem
Line 8: Line 11:
 * '''Brainstorm Ideas related to this spec: http://brainstorm.ubuntu.com/idea/5534/ http://brainstorm.ubuntu.com/idea/9626/  * '''Brainstorm Ideas related to this spec''': http://brainstorm.ubuntu.com/idea/5534/ http://brainstorm.ubuntu.com/idea/9626/ http://brainstorm.ubuntu.com/idea/4072/ http://brainstorm.ubuntu.com/idea/5578/
Line 12: Line 15:
To implement this type of system would be easiest by using some/ the same code from the "Translate this Application" button which links to Rosetta, but have it modified. First have it display "Donate to this Application," instead of "Translate this Application" and second have it link to a Launchpad page which allows secure credit card, PayPal, Google Money, etc. transactions that would be distributed to the right people instead of the Rosetta page. Also what would be part of this system is commandline switches (ie fsck --donate-now) added to all cmd programs in Main. Also from synaptic and Add-Remove programs, right clicking would give one the option of donating to that project.     To implement this type of system would be easiest by using some/ the same code from the "Translate this Application" button which links to Rosetta, but have it modified. First have it display "Donate to this Application," instead of "Translate this Application" and second have it link to a Launchpad page which allows secure credit card, PayPal, Google Money, etc. transactions that would be distributed to the right people instead of the Rosetta page. Also what would be part of this system is a small cmd scrip called "donate". From Synaptic, the Add-Remove program, and apt-get there would be the ability to donate to that upstream project.
Line 16: Line 18:
Now one can easily donate to their favorite Open Source/ Free Software project. Now Ubuntu users can easily donate to their favorite Open Source/ Free Software project.
Line 24: Line 26:
Dick wants to donate to The GIMP to speed up development, he opens up The Gimp find the "Donate to the Application" button to donate to the GIMP developers to accelerated its development through the Launchpad Donation website.

Mary likes Ubuntu over all, she opens up Synaptic right clicks on the "ubuntu-desktop" package and chooses "Donate to the Application" option, then she donates $100 dollars through the Launchpad Donation website..

Luke likes ucf for his firewall, on the command line he uses the "donate ucf" command to open up the lynx browser to donate to ucf through the Launchpad Donation website.

Nathan likes a feature suggested in Brainstorm or Blueprints. He clicks on the "Donate to this idea" link, and donates some money which is distributed among those who help it to fruition (or returned if the idea is rejected).

Ian hates a bug in Launchpad. He clicks on "Donate to fix this", and donates some money which is distributed when the bug is closed as fixed (or returned if the bug is closed as invalid).
Line 25: Line 37:

Many users will find this functionality useful.

Targeted incentives can improve donation rates, and encourage user need driven design.

Incentives which require no developer interaction encourage those who are already doing good work, instead of bounty hunters.
Line 28: Line 46:
You can have subsections that better describe specific parts of the issue. The scrip "donate" would be created, its syntax would be in the form "donate name-of-binary-here" it would use the database made by the Command-Not-Found program to find the package name, it would then make a URL linking to the Launchpad Donation website base on the package name (ie. http://donations.launchpad.com/ubuntu/intrepid/firefox-3.0). The GUI would be built on top of the scrip, as well, the Synaptic integration would be too. In the case were there is more then one package for a particular program, the first one in the database would be used. (ie zsh, with the packages zsh and zsh-beta.)

=== Website design ===
Hooks for regular donation on all project pages. Hooks on Bugs, Brainstorms, Blueprints, Translations, and Answers to allow users to add incentives to specific improvements.
Line 32: Line 53:
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like: It will be implemented throughout as much as the desktop as possible first, later in command line programs, and last through package installation programs.
Line 36: Line 57:
Should cover changes required to the UI, or specific UI that is required to implement this All applications in Main and possibly in Universe that have a toolbar would have an additional button added to their UI under the Help menu which links to the Launchpad Donation website.
Line 40: Line 61:
Code changes should include an overview of what needs to change, and in some cases even the specific details. Need to talk to a programer about this. The majority of the code will be in the website design.
Line 44: Line 65:
Include:
 * data migration, if any
 * redirects from old URLs to new ones, if any
 * how users will be pointed to the new way of doing things, if necessary.
There should be no migration necessary.
Line 51: Line 69:
It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during CD testing, and to show off after release.

This need not be added or completed until the specification is nearing beta.
We will add this spec into the desktop as early into the intrepid release cycle as possible in order for there to be more testing.
Line 57: Line 73:
This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved. Canonical need to support this idea.
Line 61: Line 77:
Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected. Was not discussed in a BoF meeting.
Line 64: Line 80:
CategorySpec CategorySpec CategorySpec

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

To implement this type of system would be easiest by using some/ the same code from the "Translate this Application" button which links to Rosetta, but have it modified. First have it display "Donate to this Application," instead of "Translate this Application" and second have it link to a Launchpad page which allows secure credit card, PayPal, Google Money, etc. transactions that would be distributed to the right people instead of the Rosetta page. Also what would be part of this system is a small cmd scrip called "donate". From Synaptic, the Add-Remove program, and apt-get there would be the ability to donate to that upstream project.

Release Note

Now Ubuntu users can easily donate to their favorite Open Source/ Free Software project.

Rationale

With Ubuntu's increased popularity, more pressure has been exerted on the developers of the programs included by default, and in the repositories, to produce more stable, more feature complete, and all around better programs. Yet, most projects have not seen an influx of developers to solve all these problems. Many developers of Open Source projects work at full time jobs and spend their free working on their project. But if they could make even a reasonable amount of money from donations they could spend more, or convince their partners, that they should spend more time working out the kinks in their programs. This specification provides a way for an end user to donate to program's foundation/developers in order to see its continued growth, which can help solve Bug #1!

Use Cases

Dick wants to donate to The GIMP to speed up development, he opens up The Gimp find the "Donate to the Application" button to donate to the GIMP developers to accelerated its development through the Launchpad Donation website.

Mary likes Ubuntu over all, she opens up Synaptic right clicks on the "ubuntu-desktop" package and chooses "Donate to the Application" option, then she donates $100 dollars through the Launchpad Donation website..

Luke likes ucf for his firewall, on the command line he uses the "donate ucf" command to open up the lynx browser to donate to ucf through the Launchpad Donation website.

Nathan likes a feature suggested in Brainstorm or Blueprints. He clicks on the "Donate to this idea" link, and donates some money which is distributed among those who help it to fruition (or returned if the idea is rejected).

Ian hates a bug in Launchpad. He clicks on "Donate to fix this", and donates some money which is distributed when the bug is closed as fixed (or returned if the bug is closed as invalid).

Assumptions

Many users will find this functionality useful.

Targeted incentives can improve donation rates, and encourage user need driven design.

Incentives which require no developer interaction encourage those who are already doing good work, instead of bounty hunters.

Design

The scrip "donate" would be created, its syntax would be in the form "donate name-of-binary-here" it would use the database made by the Command-Not-Found program to find the package name, it would then make a URL linking to the Launchpad Donation website base on the package name (ie. http://donations.launchpad.com/ubuntu/intrepid/firefox-3.0). The GUI would be built on top of the scrip, as well, the Synaptic integration would be too. In the case were there is more then one package for a particular program, the first one in the database would be used. (ie zsh, with the packages zsh and zsh-beta.)

Website design

Hooks for regular donation on all project pages. Hooks on Bugs, Brainstorms, Blueprints, Translations, and Answers to allow users to add incentives to specific improvements.

Implementation

It will be implemented throughout as much as the desktop as possible first, later in command line programs, and last through package installation programs.

UI Changes

All applications in Main and possibly in Universe that have a toolbar would have an additional button added to their UI under the Help menu which links to the Launchpad Donation website.

Code Changes

Need to talk to a programer about this. The majority of the code will be in the website design.

Migration

There should be no migration necessary.

Test/Demo Plan

We will add this spec into the desktop as early into the intrepid release cycle as possible in order for there to be more testing.

Outstanding Issues

Canonical need to support this idea.

BoF agenda and discussion

Was not discussed in a BoF meeting.


CategorySpec CategorySpec

DonationSystemSpecification (last edited 2008-09-01 08:28:13 by ip72-219-163-106)