Home | Sitemap | Last changes RSS Feed | Wiki help | Wiki tools | SandBox
Preferences | Edit this page | View source | Page history | Referrers
Document last modified: Tue, 24 Oct 2006, 18:23 UTC
Parents: BlackboxDocumentation/ BlackboxStyles/

Blackbox Documentation/Blackbox Styles/Style Distribution

This page offers useful guidelines for packing and distributing style packages for Blackbox.

1 Licensing
1.1 Why licensing is important
1.2 Including third party resources
1.2.1 What to ask yourself before including 3rd party artwork
1.2.2 Artwork found "in the wild"
1.2.3 The recommended approach
1.3 What license to use
1.3.1 Common pitfalls
1.3.2 Recommended licenses
1.3.3 Making your own license
2 Organizing your package
2.1 Start with a main directory
2.2 Add subdirs for styles and backgrounds
2.3 Other informative files
3 Portability
3.1 One size does not fit all
3.2 Background setting utilities

1) Licensing

One of the most important issues when creating and distributing Blackbox styles is making sure you include a proper license in the package. If you omit a license and only tell people who the author is, the intellectual property laws in the vast majority of countries will forbid them from distributing, modifying and perhaps even from using your style!

Just because you willingly post your style on a public website doesn't give people these rights. You have to give them explicit permission to use, redistribute and perhaps modify your styles and redistribute the modified styles.

Sure, even if you don't put a proper license in the package, style sites will probably list them and people will download them anyway. But here's the catch: the Linux and other operating systems distributions will never include your package, because they are very careful to respect the law. So you miss out on the greatest way to make your styles knows: having them included in a default distribution.

1.1) Why licensing is important

A style package that has only a style file in it and nothing else, no terms, no license, is in a legally uncertain state! Technically, people are allowed to download and use it, but not to modify and repost them, and official software distributions will NEVER include it.

See this Freshmeat article written by Devin Carraway*, called "A Plea for Clear Theme Copyrights*".

Read 10 Big Myths about copyright explained* which clears some of the most common misconceptions about copyright.

1.2) Including third party resources

Quite often people want to include third-party resources in addition to their styles. Such resources most often are images and fonts. You must be careful to respect the law when including those resources.

1.2.1) What to ask yourself before including 3rd party artwork

1.2.2) Artwork found "in the wild"

There are two categories of such artwork:

Here's an idea: instead of picking wallpapers from the wild, go to a repository such as DeviantArt*, because there you can see who the author is, you can contact him and ask nicely if and how you can use their work.

1.2.3) The recommended approach

It's highly recommended that you track down the author for every third-party resource you intend to include in your package, and ask them explicit permission to include that resource with your package. Make it clear to them up-front under what terms you intend to distribute your package and how this affects their work. They may want to impose their own restrictions. Basically, if you want to include third-party resource not done by you, you must work together with their authors towards agreeing on licensing terms.

1.3) What license to use

You don't have to invent your own license. There are a great many number of licenses already available and very well known. If you use one of them people will quickly know what to expect and what they can do with your style.

See http://www.opensource.org/licenses/ for a comprehensive list of OSI approved licenses. Being approved by OSI means that the license was checked and found to meet certain quality standards.

1.3.1) Common pitfalls

You have to realise that your style is not software ie. it is not a computer program. It is just a description of visual effects, written in computer form. Therefore it is not normal to use software licenses for styles. You should use artwork licenses or at worst licenses meant for documentation. Just stay clear of licenses having "software" or "open source" in their name, in most cases they're not right for artwork.

The most common mistake done with Blackbox styles is to distribute them under the General Public License*. The GPL is a software license and deals with specific issues. It can be applied to styles and artwork but it's a strech and in some cases even a nonsense.

By choosing a wrong license you risk that sites and organizations that are careful to respect intellectual property laws reject your styles.

1.3.2) Recommended licenses

Here are some suggestions of licenses to use for your styles. Remember to consult with the authors of 3rd-party resources regarding the choice of license! Also remember to actually read them and see if they're right for you!

1.3.3) Making your own license

You can craft your own terms and include them with the package. But it can be tricky. You have to start from the default (which is whatever the intellectual property laws in the country of the user says) and explicitly add permissions. As long as you're not a lawyer, consider using a ready-made license instead.

You can probably safely assume that the users will not have the right to use, distribute, or distribute modified copies of your style. Make sure to at least grant people the right to use your style and require them to give you credit at all times. Distribution, making money off the package in various ways, distributing modified versions, omitting credits, are optional and you can choose to allow or forbid them. By default the copyright laws usually forbid them without your express consent.

Please note that in some countries, notably in the United States but also in other countries, there's this thing called fair use. This means that once you grant people the right to get your package, you cannot forbid them from using it in a number of ways. It would be silly to try, so the law doesn't bother. Therefore once people have your package they can unpack it, make any number of copies of the files, modify the files in any way they wish. As long as they don't pass the files (either verbatim or modified) on to others (which falls under the distribution rights you may or may not grant), they are safe and can do whatever they wish.

2) Organizing your package

We will now attempt to reach a set of guidelines you should follow when preparing a style package. They are not mandatory, but most aspects are traditional by now and it would do you good to use them, because people have grown to expect them.

2.1) Start with a main directory

Start by making a directory and put all the other files under it. The reason: when people unpack your style archive they may do so from the command line, and they may not do so in a special temporary directory. If you put everything in a main directory, they will get a directory. If not, they will get a bunch of files which will mix with whatever they had in the directory they were in and it can be quite hard to see which is which.

In naming the main directory, the best choice is to use the name of the style and the version. You can use capital letters and spaces if you wish to. Most people prefer the software approach: no spaces and add a dash and the version at the end.

Example:

MyNewStyle-1.2.1/

2.2) Add subdirs for styles and backgrounds

Traditionally, the users' ~/.blackbox directory has a styles/ and a backgrounds/ directory under it. It's a good idea to have them just like this in your package, directly under the main dir. This way people can simply copy the entire style/ and backgrounds/ dirs to their ~/.blackbox dir and be done with installation.

The other good thing that comes from this is that your style's rootCommand can expect to find the backgrounds in ~/.blackbox/backgrounds/wallpaper_filename.png.

2.3) Other informative files

There are certain text files people may expect to find in a package, usually with the following names:

AUTHORS or CREDITS
Credits for the various resources in the package.
ChangeLog
Lists the changes done to the package, in reverse chronological order, usually clearly identifying who did what and marking the new release dates.
INSTALL
This is used to give people a hand with installing your style. Do not assume everybody is a veteran Blackbox user or that they have an Internet connection ready so they can look things up on the Web. At least tell them that they have to copy your style and wallpapers in ~/.blackbox. If you feel like it give them more help, such as making sure they have the font you intended or what to do if they run into trouble. It's your style, you want people to at least get to see it, right?
LICENSE or COPYING
The text of the license you use for the package, or the terms of use and distribution. Also mentions the main copyright holders.
README
The most common one. It is often used instead of all the others and it is some of the first things people look at in your package. It should at least mention the name of the package, the release date, the author and some contact information (email and website). It also helps a lot to mention what the package contains.

You won't believe the number of times I've seen packages where the author didn't bother to mention contact information or what the package contains. Sometimes people will come across your tarball and won't know what's in it even if they look at the files. Assuming that your packages or name are world-famous is egomaniacal at best. So be nice and add something like: "Hello, I'm John Doe, my email address and website are, and this is a Blackbox style package."
VERSION
Contains only the package name and version. Used sometimes so that people can check them quickly.

3) Portability

3.1) One size does not fit all

You have designed your style on a 1024x768 desktop, but people may have different resolutions. They may end up with either too small or too big a wallpaper. There are several things you could do to overcome this:

The same issue applies to font sizes and the sizes of the Blackbox widgets. What looks good and big on a 800x600 desktop will look extremely small on a 1280x1024 screen. Consider providing alternative "big/small" versions of your styles.

3.2) Background setting utilities

Are you sure that people will have the background setting utility you use in your rootCommand? In all fairness, even if you use and love utility XYZ, not everybody has it. The only such utils you can count on are xsetroot, from X, and bsetroot and bsetbg, because they came with Blackbox. You would do well to use one of them.


eXTReMe Tracker Hosted by SourceForge.net
Document last modified: Tue, 24 Oct 2006, 18:23 UTC
Home | Sitemap | Last changes RSS Feed | Wiki help | Wiki tools | SandBox
Preferences | Edit this page | View source | Page history | Referrers
Hosted by SourceForge. Powered by Wikki Tikki Tavi. About the website. Terms of use.