Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to display credits

I want to give credit to all open source libraries we use in our (commercial) application. I thought of showing a HTML page in our about dialog. Our build process uses ant and the third party libs are committed in svn.

What do you think is the best way of generating the HTML-Page?

  • Hard code the HTML-Page?
  • Switch dependency-management to apache-ivy and write some ant task to generate the html
  • Use maven-ant-tasks and write some ant task to generate the HTML
  • Use maven only to handle the dependencies and the HTML once, download them and commit them. The rest is done by the unchanged ant-scripts
  • Switch to maven2 (Hey boss, I want to switch to maven, in 1 month the build maybe work again...)
  • ...

What elements should the about-dialog show?

  • Library name
  • Version
  • License
  • Author
  • Homepage
  • Changes made with link to source archive
  • ...

Is there some best-practise-advice? Some good examples (applications having a nice about-dialog showing the dependencies)?

like image 390
Tobias Schulte Avatar asked Nov 10 '08 14:11

Tobias Schulte


2 Answers

There are two different things you need to consider.

First, you may need to identify the licenses of the third-party code. This is often down with a THIRDPARTYLICENSE file. Sun Microsystems does this a lot. Look in the install directory for OpenOffice.org, for example. There are examples of .txt and .html versions of such files around.

Secondly, you may want to identify your dependencies in the About box in a brief way (and also refer to the file of license information). I would make sure the versions appear in the About box. One thing people want to quickly check for is an indication of whether the copy of your code they have needs to be replaced or updated because one of your library dependencies has a recently-disclosed bug or security vulnerability.

So I guess the other thing you want to include in the about box is a way for people to find your support site and any notices of importance to users of the particular version (whether or not you have a provision in your app for checking on-line for updates).

like image 200
orcmid Avatar answered Nov 02 '22 17:11

orcmid


Ant task seems to be the best way. We do a similar thing in one of our projects. All the open source libraries are present in a specified folder. An Ant task reads the manifest of these libraries, versions and so on and generates an HTML, copies into another specified folder from where it is picked up by the web container.

like image 30
Nikhil Kashyap Avatar answered Nov 02 '22 17:11

Nikhil Kashyap