licensing cleanup and slightly updated readme.
[feisty_meow.git] / readme.txt
1
2 This is the "feisty meow® concerns" codebase top folder.
3
4 This software is licensed *per* *file* using either the GNU General Public
5 License (GNU GPL) version 3 *or* the Apache Software License version 2.0.
6 If a file does not have a license statement attached and it is part of the
7 feisty meow® codebase (rather than attributed to some other author), then the
8 default license is the GNU GPL.
9
10 For information on building the source code, see the file "building.txt".
11
12 ####
13
14 Feisty Meow Concerns Ltd. is a small software shop that concentrates on
15 building high quality, portable, open source projects in a variety of
16 languages (primarily bash, perl, python, C++, and Java).  Here are some
17 highlights of our main products:
18
19   Bookmark Processing Tools - can take a mozilla bookmark file or arbitrary
20      web page and extract all the links out of it, building a csv database of
21      web links.  Using that database, a variety of output formats are
22      provided, including one that outputs a mozilla bookmark file again.
23      The most useful feature is probably the marks checker that operates on
24      our csv format and that locates all unreachable links in the file and
25      separates them out.
26
27   CROMP protocol - supports transmission of objects across the network and
28      provides a platform independent method for RPC and other types of
29      communication.
30
31   Octopus design pattern - the underpinning of the CROMP protocol.  An octopus
32      has an arbitrary number of tentacles (no, not just eight) which are each
33      responsible for consuming a different type of object (or datum).
34
35   Fast Templates and Portable Abstractions - the class libraries of Feisty Meow
36      provide numerous different data structures and programming language
37      abstractions (like threads and state machines).  There are also some
38      fairly ancient templates (in use since late 80s) which in many cases
39      perform faster than their STL analogues.
40
41   CLAM System - Feisty Meow is the home site of the CLAM makefile system.  The
42      CLAM system is a flexible and extensible method for building C++ and
43      C# files using makefiles.
44
45 ####
46
47 Historical note:
48 Feisty Meow® Concerns codebase comprises some but probably not all of several projects that
49 have come before.  These include the Twain.COM library scripts, the Yeti / YetiCode library
50 scripts, the HOOPLE 1 and HOOPLE 2 C++ Codebases, the Fred Huffhines open source LSL scripts,
51 the CLAM build system, and a variety of other efforts.
52
53 ####
54
55 Directories and files of interest here...
56
57 scripts/
58     Stores the script files that we use a lot.  These are usually written in interpreted
59     languages, such as bash and perl.  These were the core of the YetiCode scripts library.
60
61 nucleus/
62     Source for the basic modules of the Feisty Meow® codebase.  This includes generic
63     data structures, useful utilities, and the like.  This hierarchy, plus octopi and graphiq,
64     formed the major parts of hoople1 and hoople2.
65
66 huffware/
67     The library of LSL scripts for osgrid and Second Life written by the avatar named Fred
68     Huffhines.  Fred Huffhines is a regular contributor and a well-loved member of our
69     development team.  He also happens to be a fictional sock-puppet for adventuring around
70     the grids, but a lot of code has been written in his name.  We are going to release the
71     full corpus of the Huffhines work over time.
72
73 octopi/
74     Octopus design pattern and CROMP protocol reference implementations.  Assorted applications
75     based on these.
76
77 database/
78     Some files considered critical to the operations of Feisty Meow Concerns Ltd.  This includes
79     the database of fortunes used by the Nechung Oracle Program.
80
81 doc/
82     Assorted documentation files for Feisty Meow and a code-scanning documentation generator
83     based on doxygen.
84
85 examples/
86     Some files that show how to get work done with Feisty Meow or that show how to do certain
87     tasks in different scripting / programming languages.
88
89 kona/
90     Our burgeoning Java libraries.  Not much to see here yet, but there is some code piling
91     up for these that we will try to release soon.
92
93 osgi/
94     Some example bundles for Java OSGi.  These may eventually fill out with real material,
95     but currently they are just tracking the investigation we did into creating bundles and
96     running using them.
97
98 production/
99     Machinery for getting releases out the door, including the generated files such as binaries
100     and build system tools.
101
102 graphiq/
103     GUI tools and components, somewhat busted or just absent right now.
104
105 webby/
106     Source code specifically for web programming and building sites.  Mainly a few javascript
107     files we keep around.
108
109 ####
110
111 Notable Prerequisites for Using the Feisty Meow® codebase:
112
113   Software required to compile under Linux:
114     Gnu C++
115     A few free source libraries (see "building.txt" for more information).
116
117   Software required to compiler under MS-windows:
118     The free Microsoft compiler should build the codebase but it is untested.
119     The full version of MS Visual Studio 2010 (version 10) is supported.
120       --but this has fallen into disrepair.
121     Gnu C++ should compile the codebase but it is also untested recently.
122
123 ####
124
125 More information is available at the official site http://feistymeow.org
126
127 ####
128