Initial commit
[amiga/OpenBoopsi.git] / README
1 $Id: README,v 1.1 2000/01/12 20:32:09 bernie Exp $
2
3
4 About `boopsi'
5 ==============
6
7  The achronim `boopsi' stands for Basic Object Oriented Programming System
8 for Intuition. This facility is available in AmigaOS since Kickstart V36.
9 boopsi is primary meant as an OOP framework for GUI components such as
10 gadgets, images, texts and so on.
11
12  The system provides several boopsi classes which are the OOP counterparts
13 of the plain Intuition gadgets and other important structures such as Image
14 and IntuiText. There are also classes that allow building a network of
15 interconnected boopsi objects so that each object can notify the others
16 about its attributes. This boopsi communication system enables the gadgets
17 to talk each other so they can react to user input in complex ways, freeing
18 the application from most of the GUI administration duties.
19
20
21 Other GUI systems
22 =================
23
24  Unfortunately, the built-in Intuition classes are not very powerful,
25 nor flexible enough for todays applications. That's why so many
26 alternative GUI systems have appeared during the past years. Some
27 of these systems are also based on boopsi, while others provide
28 their own API through a shared library.
29
30  The main disadvantage with these GUI systems mentioned above is
31 none of them is free. In this case we are referring to the GNU meaning
32 of the word `free'. It means that the users and the developers are
33 not given enough freedom. Some GUI systems are shareware, some others
34 come with a license that forbids or limits their use for commercial
35 applications. Few of them come with their source code and in most
36 cases they don't give you the freedom to change it. On the technical
37 side, the major limit of the current GUI systems is that they are
38 usually mutually exclusive. You can't mix objects from two different
39 systems to take advantage of the features of both.
40
41
42 About the boopsi OSS project
43 ============================
44
45  The goal of this project is providing a comprehensive set of
46 boopsi classes for general application developement. The main
47 developemnt guidelines are:
48
49   - providing a pure boopsi API for GUI construction. There
50     are no additional libraries.
51
52   - integration with the system built-in classes, whenever
53     possible.
54
55   - support the current V39/V40 OS along with the current
56     RTG systems.
57
58   - Sticking to clean AmigaOS programming, except when it is
59     absolutely impossible to do so to workaround known
60     OS bugs.
61
62   - Adopting a distributed developement model. Source code
63     is freely available and anyone is allowed to improve or
64     add new functionality.
65
66   - Leave the choice to the application developer.
67     The classes will be available in several flavours,
68     including shared class libraries, linker library and
69     a monolithic shared library.
70
71   - Find the best trade-off beteen efficiency, portability
72     and configurability
73
74
75 DISCLAIMER
76 ==========
77
78  This software is provided AS-IS, without any explicit or implied warranty.
79
80  This software is to be considered PRELIMINARY and SUBJECT TO CHANGE.
81 It has not been tested accurately and it may contain BUGS that could
82 easily CRASH YOUR SYSTEM.