On 02/23/11 04:28, Alexander Petukhov wrote:
If nobody mind, let me state my opinions:

1. Maintaining
I believe there has to be only one maintainer who is commiting code.
As for me, the amount of code in a ordinary geany plugin is not that huge,
one can easily support it. Others who has patches/improvements have to send them
to the maintainer and it's he, who decides what to do with them and is somehow 
responcible for the result.
Giving commiting rights to several people can cause mess in code.
Isn't this how the current setup is? I thought it was just a courtesy to not mess with the other plugins?
If the plugin is unmaintained for a long time, lets contact a developer to 
learn his plans
and if he hasn't time for now (or at all) and there is someone else who wants 
to do his job - let this man to become a new maintainer,
I think little developers will reject this suggestion if they really have no 
time to deal with the code for now.
Current active maintainer have to mentioned on the plugins web-site in order to 
contact him to solve problems / send patches etc

2. Documentation
Support Mathew, there has to be common documentation system,
maybe we can start from standartization README etc standart files
Maybe even to have a "plugin template" (GStreamer has this[1]), where you clone from a repo/extract from a tarball all the standard files and then add your source code and customize the templates (README, autotools stuff, etc).
3. Different repos
Here I strongly disagree, I think this will also cause kind of a mess,
why not to solve problems in te common repository?
I guess I don't know enough about to Subversion to understand its workflow. But this sounds better to me:

"The Fork + Pull Model lets anyone fork an existing repository and push changes to their personal fork without requiring access be granted to the source repository. The changes must then be pulled into the source repository by the project maintainer. This model reduces the amount of friction for new contributors and is popular with open source projects because it allows people to work independently without upfront coordination." [2]

But like someone said, this is a whole different thread, and I really don't know enough about VCS to have a strong opinion.
4. Removing unsupported plugins from releases
what do you think about the following scheme: divide all pluging into:
- "supported" (that are acting really well)
- "unsupported" or "bad" (having problems) ?
So, every geany-plugins release will contain several packages: "geany-plugins", 
"geany-plugins-bad or "geany-plugins-unsupported", something like this
This is like GStreamer plugins and I think it's a very good idea. They could be grouped in the configure.ac file to add an option like --enable-bad and --enable--unsupported or something.
5. Other language bindings - don't really think it can increase plugins quality 
dramatically,
there can be problems in any language that you have to solve in order to make 
your code work correctly.
I have to disagree with this for a few reasons:
- Many more people would write plugins if they could do it in their "native" language (Just look at how many plugins Gedit has). - I'd rather use a plugin written in Perl by a Perl guru, running on it's interpreter, than Perl code written in C (ie. lets people use their existing skills instead of translating them into bad C code).
  - No memory leaks (ie automatic ref-counting, garbage collection)
- Isolation from Geany since most languages would be running under their own VM/interpreter. Same reason you don't often (or ever?) see Segmentation Fault when running a PHP or Python program for example. - Rapid development. There's been many plugin ideas I've had myself that I would've written if I could've done it in a couple evenings instead of a month of evenings.
  - People can still use the C API.

The only downside I can think of is the extra memory overhead of the embedded interpreter.

My 0.02$

[1] http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/chapter-building-boiler.html
[2] http://help.github.com/pull-requests/

Cheers,
Matthew Brush (codebrainz)
_______________________________________________
Geany-devel mailing list
Geany-devel@uvena.de
http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel

Reply via email to