Re: [Gimp-developer] Tool API [LONG!]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I'm following up on the tool API discussion since I think we need to
get to a point here very soon now. I'll thus try to summarize my
opinion on plug-in tools once more.

Plug-in tools are essentially a great thing and would be nice to
have. A well-defined tools API would allow other developers to
contribute to The GIMP without the need for a deep knowledge of GIMP
internals and it would allow for continued development even after a
stable release is out. Please note however that these advantages
entirely rely on the availability of a well-defined and documented
API. Unfortunately we can not offer such an API at the moment.

In the past two years we managed to split the core up into several
subsystems and started to develop some sort of internal GIMP API with
defined relationships. This development has however been a slow
migration from the 1.2 code hell towards a cleaner structure. At the
end of this road stands a GIMP application which is only few code that
ties together the functionality from a bunch of libraries. All tools
would be modules (and might as well be plug-ins, i.e. run in a
different process). This is however only the vision at the end of the
road. At the moment we are only halfway there but we want to provide a
new stable release to our users so that they can benefit from the
development that has taken place. In my opinion we simply are not at
the point where we can provide a tools API for external use. The
internals simply are not yet prepared to be exposed. Releasing GIMP
with the ability to have tool plug-ins as you propose it, would
effectively expose the complete internals of the GIMP core. This would
almost certainly introduce a maintainance nightmare. People will start
to use this API thus making it impossible to do any source or even
binary incompatible changes to the GIMP core. We will however need to
make those changes in order to fix bugs. I expect that we will even
need to do so after the stable release. The only sane way to support
plug-in tools would be to put another year of development into the
core. After that time, I expect the internal API to be at a point
where we can make large parts of it available to plug-ins as well as
plug-in tools. I don't think however that people want to wait another
year and that's why I propose to remove plug-in tools for the pending
stable release and postpone this feature to the next development
cycle.


Salut, Sven

[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux