(no commit message)
[ikiwiki.git] / docs / developer / Code_Bounties.mdwn
1 [[!toc  ]]
2
3 # Explanation 
4
5 A code bounty is a certain financial stimulant to encourage someone to put his or her effort into a project. A code bounty in the DragonFlyBSD project needs to adhere to a set of rules defined hereunder, though these are only preliminary and subject to change. One could for example imagine developers accepting sponsorship on a wholly different basis, or non-financial rewards for completing a bounty project, like free hardware (we love that!).
6
7 # Rules 
8
9 * Bounty Projects are open to anyone that has a reasonable capability of completing the project. Typically it's on first to ask basis, but the sponsor of the bounty may choose differently.
10
11 * If the developer can not complete the project by the given time period, the bounty agreement is void and no money will be issued for work done. DragonFly developers may extend the time period if it's reasonable and prudent to do so. Upon voiding the agreement, someone may reissue the project again to another developer.
12
13 * Payment for a project shall be issued in no less then 72 hours after the DragonFly developers has had ten business days to determine if the code is stable and usefulness, no major issues are left unresolved and able for being merged into the project. Payment shall be in either [[Paypal]] (preferred), some money sending company or  a bank account transfer.
14
15 * Upon recieving payment, the project developer shall issue (within 24 hours) a message in the WIKI and to DragonFly development ML that they have recieved payment.
16
17 * All code submitted shall be of the same license as DragonFly. Any questions on the licensing issues should directed to the DragonFly Team.
18
19 # List of bounties 
20 ## UTF-8 support in Console 
21 ### Description 
22 Adding full UTF-8 support in console.
23
24 ### Technical details 
25 Not yet written.
26
27 ### Main goals 
28 Not yet written.
29
30 ### Estimated time 
31 Still unknown.
32
33 ### Donators 
34 *** **timofonic** ***: 35 eur.
35
36 *** **Dillon** ***: 50 usd.
37 ***
38  TOTAL AMOUNT         35 eur + 50 usd.
39
40 <br />
41 ## Update our interrupt routing and PCI code
42 ### Description
43 (shamelessly copied from gsoc2010 projects page)
44
45 * Update our interrupt routing to ACPI interrupt routing instead of relying on the mptable exclusively
46 * Update the PCI code to take advantage of MSI (Message Signalled Interrupts) 
47    (PCI code *can* do MSI. It was synced w/FreeBSD 7.2 last year, just grep for MSI in bus/pci)
48
49 ### Technical details 
50 Not yet written.
51
52 ### Main goals 
53 Not yet written.
54
55 ### Estimated time 
56 Unknown.
57
58 ### Donators 
59 *** **Rumko** ***: 150 eur.
60
61 *** **Dillon** ***: 100 usd.
62
63 *** **sjg** ***: 50 usd.
64
65 *** **alexh** ***: 150 usd.
66
67 *** **JustinS** ***: 50 usd.
68
69 *** **tuxillo** ***: 50 eur.
70 ***
71  TOTAL AMOUNT         200 eur + 350 usd.
72
73 <br />
74 ## Bring in usb4bsd
75 ### Description
76 * Completely rip out our usb stack and replace it with FreeBSD's new usb4bsd (or whatever the FreeBSD-current USB stack is called nowadays).
77 * Note that some work was done here already by polachok (http://gitweb.dragonflybsd.org/~polachok/dragonfly.git/shortlog/refs/heads/usb2) but the state is unknown.
78
79 ### Technical details 
80 Not yet written.
81
82 ### Main goals 
83 Not yet written.
84
85 ### Estimated time 
86 Unknown.
87
88 ### Donators 
89 *** **alexh** ***: 100 usd.
90
91 *** **sjg** ***: 100 usd.
92
93 *** **ferz** ***: 100 usd.
94
95 ***
96  TOTAL AMOUNT         300 usd.
97
98 <br />
99 ## Port valgrind to DragonFlyBSD
100 ### Description
101 (shamelessly copied from gsoc2010 projects page)
102
103 Valgrind is a very useful tool on a system like DragonFly that's under heavy development. Ideally, we would want the port to be usable with vkernel processes, thus enabling complex checking of the core kernel code.
104
105 ### Technical details 
106 Not yet written.
107
108 ### Main goals 
109 (shamelessly copied from gsoc2010 projects page)
110
111 The goal of this project is to port valgrind (3.5.0+) to the DragonFlyBSD platform so that at least the memcheck tool runs sufficiently well to be useful. Also an update for the pkgsrc package (devel/valgrind) should be made.
112
113 ### Estimated time 
114 Unknown.
115
116 ### Donators 
117 *** **Rumko** ***: 100 eur.
118
119 *** **tuxillo** ***: 50 eur.
120
121 *** **Dillon** ***: 100 usd.
122
123 *** **sjg** ***: 50 usd.
124 ***
125  TOTAL AMOUNT         150 eur + 150 usd.
126
127 <br />
128 ## HAMMER compression
129 ### Description
130 (shamelessly copied from gsoc2010 projects page)
131
132 * Compress blocks as they get written to disk.
133 * Only file data (rec_type == DATA) should be compressed, not meta-data.
134 * the CRC should be that of the uncompressed data.
135 * ideally you'd need to associate the uncompressed data with the buffer cache buffer somehow, so that decompression is only performed once.
136 * compression could be turned on a per-file or per-pfs basis.
137 * gzip compression would be just fine at first; lzo or lzjb might be preferable.
138
139 ### Technical details 
140 (shamelessly copied from gsoc2010 projects page)
141
142 Doing compression would require flagging the data record as being compressed and also require double-buffering since the buffer cache buffer associated with the uncompressed data might have holes in it and otherwise referenced by user programs and cannot serve as a buffer for in-place compression or decompression.
143
144 The direct read / direct write mechanic would almost certainly have to be disabled for compressed buffers and the small-data zone would probably have to be used (the large-data zone is designed only for use with 16K or 64K buffers).
145
146 ### Main goals 
147 Not yet written.
148
149 ### Estimated time 
150 Unknown.
151
152 ### Donators 
153 *** **Rumko** ***: 50 eur.
154
155 *** **Dillon** ***: 100 usd.
156
157 *** **vsrinivas** ***: 50 usd.
158 ***
159  TOTAL AMOUNT         50 eur + 150 usd.
160
161
162 ## HAMMER dedup memory use reduction
163 ### Description
164
165 HAMMER dedup may end up taking a fair amount of memory; there are straightforward approaches to either reduce the load by running multiple passes or even running in constant space.
166
167 ### Technical details 
168
169 See http://leaf.dragonflybsd.org/mailarchive/users/2011-07/msg00049.html for more details.
170
171 ### Main goals 
172 HAMMER dedup should optionally run in either a multipass mode or in a constant space mode.
173
174 ### Estimated time 
175 Short
176
177 ### Donators
178 *** **vsrinivas** ***: 25 usd.
179
180  TOTAL AMOUNT         25 usd.
181