More details have come forward about the Mark Shuttleworth offer. Mark Shuttleworth made up his mind and decided to fund myself and Calvin to work on GEGL and GIMP/GEGL integration. Until today, I didn't have any specific details on the offer.

I am pretty sure the offer essentially the software development bounties described here: Mark has said Calvin and I should divide 30,000 dollars between each other and the milestones. We (Calvin and I) are paid when the milestones are delievered with the following conditions (from the Mark's bounty page):

"Once the code is accepted, to the satisfaction of people identified before you started (for example, the project owners if it involves work extended an existing project), we pay the agreed bounty."

Calvin and I have already decided how the money will be divided between each other. What I want to do here, is first announce that Mark is funding GEGL (and thus the GIMP) and second to pass my milestones through the list to make sure they are sane and achieveable. Keep in mind that this milestone list is not a list of work for other people (though other people are free to work on it). It is a list of tasks which I am bound to fufill, contractually, and are things that I _will_ do. I am not obligating anyone to do anything. I am simply confirming that my plan is acceptable, before obligating myself to it.

The final thing I want to do here is to seek out what people think about putting a "sponsors" section on the new webpage, and devoting some space to thank Mark Shuttleworth for this (and hell, our past sponsers too). Also, I want to prepare a press release about this, and would like some help with that. I can write the content, but those current press releases are so purty, and I'd like any new one to look like them.

First my milestone list, as I sent to Mark Shuttleworth. Please tell me if it is sane. My time for completion estimates are assuming one programmer working full time. They are also only relevent it that I will use them to help divide up the bounties. The bounties themselves don't have a time limit. You may also make suggestions on how I should divide up the bounties. I'll just divide by the time I think I'll need by default. The end result of these milestones is to add features Mark wants, so I can change the way or order I get to them, but the features achieved should not be changed. The order givin is the order I think I should approach things. The ones I really need to run past everyone are 3, 4, 5, and 6 as those involve core gimp and I need to make sure that I am not going to be working on anything that would be outright rejected by the gimp developers. 1 and 2 are gegl territory, and I know I'll accept that work :-)

1.  Finish gegl/image
  ()  Goal:  gegl/image is the directory that holds the data access
libraries.  It should contain the abstractions for high-bit-depth and
multiple color space manipulations.
  ()  Time for completion: about 1-2 months
  -- a. finish up my nearly completed tile caching code
  -- b. implement color space classes
  -- c. write gegl-image can gegl-color

2. clean up nodes
() Goal: This will bring gegl all together. Modify the existing
node system to handle the new image data types, and get a strong core of
basic image processing nodes. Also, build a few image i/o nodes and
actually build one or two gegl test programs that actually manipulate
image data. One might argue that this step would "finish" gegl.
() Time for completion: 2-3 months
-- a. make nodes work with new gegl-image stuff
-- b. design processing model that can handle multiple data types and
sample models
-- c. implement the base set of core filters new filters
-- d. implement different bit depth processing functions (prioritizing by what the gimp needs)
-- e. make gegl work

3.  begin gimp integration
  ()  Goal: This puts abstraction in place to actually start handling
image high bit depth and color management.
  ()  Time for completion: about a month
  -- a.  replace tile manager with data compatible GeglBufferedImage.
This involves modifying the existing gimp-compositing system to use
GeglImage, as well as modifying GimpImage and GimpColor to use GeglImage
and GeglColor.

4. start adding deep paint
() Goal: to start allowing The GIMP to handle high bit depths. The
initial integration should not take long, but I foresee unforeseen problems, so I am setting this estimate high.
() time for completion: about 4-6 months
-- a. modify GimpImage and GimpLayer to use a set of GeglOps.
-- a. design a new file format (this has already begun), and start
converting all the plug ins, core, and paint to use high bit depth (16
bit or float).

6. The big ones
() Goal: start adding some long wanted features. a and b
probably need to take place at the same time.
() time for completion: about 6 months
-- a. build the CMYK painting system. This will involve figuring out all the equivalent CMYK and RGB operations, and modifying the
GIMP to use CYMK equivalent operations in place of RGB operations.
-- b. add color management to the gui.
-- c. add layer effects
-- d. add layer groups.
-- e. add clone layers.

Gimp-developer mailing list

Reply via email to