This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

Let's make an outline of the things that should be in a "ISV Guide to GNOME".

ISV is "Independent Software Vendor", or anyone who writes apps against the GNOME platform to distribute them independently. That includes open source developers!

Quick links:

Miscellaneous

On 2005/Aug/03, Adobe hosted a web seminar on the problems they had when porting Acrobat Reader to GNU/Linux: http://lists.osdl.org/pipermail/isv_discussion/2005-June/000018.html

BrianCameron: Note that much of the information in this guide is already documented in the GNOME 2.6 System Admistrators Guide. This document unfortunately also contains some interfaces which are not stable and do not work in the latest GNOME builds (such as how to integrate a launcher into the panel). Perhaps it might be easier to create an ISV Guide using this document as a starting point, or copy-paste the information from that guide. I imagine that the ISV Guide will replace this document when it is finished.

Problems which ISVs face

Uncertainty about which version(s)/parts of GNOME to target. What's the GNOME version which the most number of people have installed?

Some issues are not to do with GNOME but must be tackled anyway - no ISV purely targets GNOME, usually they target GNU/Linux+GNOME, or some subset of GNU/Linux distributions. Issues that affect GNU/Linux should also be tackled then, otherwise the guide would be not be a complete guide and ISVs would still be stumbling around in the dark, giving users a poor experience:

Lack of programming documentation.

Lack of "overview of the platform" documentation.

MikeHearn: Porting from Win32 to GTK+ ... do we need advice and examples of how to port things like Win32 file association/menu code to GNOME and/or how to integrate the GTK+ mainloop with the Win32 main loop so dual code can exist during the transition?

Outline for the guide

Status of the guide

The guide lives in CVS in the "gnome-isv-guide" module. An HTML version gets posted periodically to here.

I want to maintain the actual text of the guide in there. I want to structure the guide as a series of tasks that ISVs can do to integrate their apps gradually into GNOME: "install a .desktop file", "install MIME definitions and icons", "support cut&paste". Since at this point I am not completely sure about the actual order for those tasks, I'd like to play with that order here in the wiki: that's what the Outline section is about.

In the outline, you'll see that I have several chapters: "Basic integration", "Deeper integration", etc. The idea is that those chapters are milestones that ISVs can achieve and get meaningful results: "Basic integration" is about the very minimum you need to do to let users run your software and manage the files it produces, plus minimal interoperability like cut&paste of text. "Deeper integration" is about the the things that start to make for a "nice app": drag and drop, installing a thumbnailer for the file manager, supporting the recent-files specification, etc. We will probably continue with very specific chapters: "Multimedia: if your app makes noises, this is the sound architecture you should use"; "Printing: use CUPS", etc.

Encryption Logic

ISV's need to be aware of what encryption logic exists in the GNOME stack since it may affect export licenses. This only affects ISV's who intend to ship the logic containing the encryption logic, typically a GNOME distribution vendor.

gnome-keyring

gnome-keyring versions before 2.20 used to have its own AES/MD5/SHA crypto code. This prevented some ISVs, such as Sun Microsystems, from shipping gnome-keyring without a custom patch. gnome-keyring now uses libgcrypt for its crypto needs and no crypto algorithms are present in its code.

See also


2024-10-23 10:58