Presentation I did at the Linuxdagen 2007 in Oslo (http://www.linuxdagen.no). Covers Achievo ATK, but also some background info on running an open source project (may 7th, 2007).
1. Achievo ATK – An Open Source Project
Ivo Jansch <ivo@ibuildings.nl>
Ibuildings.nl BV
2. Agenda
• About Ibuildings
• About the ATK framework
• Demo
• Running an open source project
woensdag 6 juni 2007 2
3. About Ibuildings.nl
• Company
Founded in 1999
Based in the Netherlands
Today: 40+ employees in 3 offices (Vlissingen,
Rotterdam and Sittard)
Technology (open source) background
• Main activities
Technology & Development
Communication & Marketing
Business Solutions
woensdag 6 juni 2007 3
4. Technology at Ibuildings
• Software engineering
Strong focus on solid software engineering practices
• PHP as a strategic development platform
All developers are Zend Certified Engineers
Actively contributing to the Open Source community
• Zend partnership
Official Zend Representative for the Benelux
PHP and Zend Training
woensdag 6 juni 2007 4
5. ATK Application Framework
• Achievo ATK is an object oriented Web
Application Framework, written in PHP
• Business application development
• Targeted at developers who wish to focus on
business logic, instead of coding HTML
woensdag 6 juni 2007 5
6. ATK philosophy
• Very Rapid Application Development
Code minimization (10 lines of code…)
“Don’t reinvent the wheel”
“Don’t Repeat Yourself” principle
80/20 rule
• Versatile
Supports many databases
Runs out of the box
Dependencies are bundled
PHP4 / PHP5
• Customizable
Modular system
Customize ATK
Customize your own software
woensdag 6 juni 2007 6
7. ATK features
• For the user
Uniform interface
CRUD functionality
Data search functionality
Themes
Internationalization (15+ languages)
AJAX features
• For the developer
Database abstraction layer (MySQL, Oracle, PostgreSQL)
Relationship modeling (e.g. 1:N, N:1, N:M db relations)
Flexible authentication & authorization
Application session management
Out of the box, but 100% customizable
woensdag 6 juni 2007 7
8. ATK is NOT…
• A component framework
Zend Framework
ezComponents
PEAR
• These provide components to build applications
• ATK builds the application
• A CMS
But you can build one with ATK
woensdag 6 juni 2007 8
10. History
• Startup company
Software can be expensive
• Open Source minded
‘LAMP’ based company
• Scratching an itch
Administration
• Achievo Project Management
First open source release in April 2000
Initial release: ‘How not to write software’
woensdag 6 juni 2007 10
11. History (2)
• Something was not right
Community feedback (a lot of feature requests)
Customization needs
Code duplication, spaghetti
• Complete rewrite
Software Engineering + OO
Model driven approach
=> ATK born
• Breaking loose of Achievo
All Ibuildings software based on ATK since 2001
ATK released as separate OS project in 2004
woensdag 6 juni 2007 11
12. Business Model
• Knowledge based model
Support
Training
Paid enhancements
• License based model
Commercial licensing
Dual licensing
• Indirect model
Projects
Other products (CMS, dotcoms)
woensdag 6 juni 2007 12
13. Development Model
• Evolutionary development
Grow as needed
Community contributions
• Generalization
Careful selection of development layer
Need something twice -> generalize
• Quality control
Unit Testing
Sheriffs
woensdag 6 juni 2007 13
14. Setting up a community
• Tools
Website
Source Control
Forum
Bugtracker
Wiki
Build automation (nightlies, releases)
• Release guidelines
Release something that works
Out of the box
woensdag 6 juni 2007 14
15. Setting up a community (2)
• Keeping users happy
Document the software
Help the users
Stay in touch
Maintain backwardscompatibility
• Marketing
Make sure you are found
Get linked
Watch the competition
woensdag 6 juni 2007 15
16. More info
• Visit these websites for more information about
Ibuildings and the ATK framework:
http://www.ibuildings.nl
http://www.achievo.org/atk
http://www.achievo.org/blog
• ivo@ibuildings.nl
• Thank you!
woensdag 6 juni 2007 16