August'24: Kamaelia is in maintenance mode and will recieve periodic updates, about twice a year, primarily targeted around Python 3 and ecosystem compatibility. PRs are always welcome. Latest Release: 1.14.32 (2024/3/24)
"To make software systems as capable, manipulable and future proof as the best in science fiction, without waiting 4 centuries, using concurrency as a tool to make them easier and more natural"
OK, this is a recent change, and needs to change again, but is slightly less cheesy than:
Kamaelia is an open source project that has as it's less than obvious goal creating the computer systems that you'd find on next gen version of the USS Enterprise, just not waiting 4 centuries for it.
And definitely less teeth jarring than:
"To do for software systems what IKEA has done for furniture, and spreadsheets have done for traditional business, but for the BBC's business of story telling & distribution."
This reflects the fact the project lead works at, and Kamaelia
originated at the BBC.
In concrete terms this mission means:
Kamaelia systems should be creatable, eventually, by a
user with a similar level of ease as using a
speadsheet.
Why? This would make it a much more creative tool, and useful for the
average non-programmer in a creative environment, where they don't need
to wait for a programmer to help them envisage their goal. Our Compose tool is beginning to push capabilities
upwards.
Kamaelia needs to support the various ways stories can be told and distributed
Kamaelia must work for the
average programmer as well as the uber-programmer.
Given the goal of parallelism this is unsual. In order is to allow the
non-programmer to use their systems, subsystems must inherently
and easily be able to be used/created in this way. Not as a
bolt on, or odious, but because it naturally falls out of the way the
system works.
Systems should be future proofed - this is our starting
point, driving many design decisions
In practical terms, hardware is (finally, as long predicted) going
multicore and parallel. Parallel systems programming is currently
considered hard. Kamaelia aims to make concurrent/parallel systems as
simple as possible from a maintenance perspective. Kamaelia's
approach comes from this perspective, however it is part of a larger
picture.
This all needs to be as cross platform as possible
Kamaelia 0.5.0 seems to point that these goals are achievable.
Concrete, ongoing aspects of the project that show direction:
The project is typically driven by projects and aims originating
inside the BBC. This is then used to stimulate development of both those
projects & Kamaelia itself. You are welcome to do the same.
The current project direction is aimed at improving the toolset to allow
high quality realtime efficient communication and collaboration, whilst
extracting useful subsystems that can reused in novel ways, along with
consolidating existing work for reusability. As a result tools
enabling
High quality audio & video capture
Audio/video manipulation
Integration with common systems & tools (eg Databases, XML, RSS/Atom sources/sinks)
Tools for organisation of materials for collaboration
Areas which can be enhanced
Are all of interest, but preferably driven by real world problems.
This list is non-exhaustive.
I know, I know. Very american, very un-european. Sorry :) Some of it grates for me as much as you, but it's useful to know what we're doing and why? I hope :-)
Knowing where the developers are headed or being lead is useful to
know. See "Eh?" below if you find this page painful! If you're
interested in developing Kamaelia, please take a peek at Visions of Kamaelia, and add your thoughts.
What do we mean by Mission, Goals, Direction above?
A mission is essentially one vision from Visions of Kamaelia, based on the project leads' view. Goals are wider in scope and can support that mission or any of the other Visions of Kamaelia. Project Direction reflects current developer priorities. New developers will bring their own priorities. The mission currently reflects that the project lead works at, and the project originated at the BBC. There is no expectation that you share these aims, visions or goals. Sharing your personal vision expands the project, benefitting everyone.
-- Michael Sparks, November 2006 (updated lightly May 2008)