Developing OSS Solutions
An example from CK-ERP
Wu, Chiu Kay – (Project Admin)
Thank you for the invitation
History
2002: phpgroupware + CK-Ledger
2004: eGroupWare + CK-ERP Present: (30+)middlewares + CK-ERP
Structure
22 (7 sets) modules
System Administration (sys admin, i18n) Contact Management (contact, crm, css, vrm) MRP (mrp, warehouse, inventory, service) Trading (ap, ar, po, so, quotation)
Accounting (ledger, bank reconciliation)
Point of Sales (cashier, manager)
Human Resources Mgmt (hr, sss, payroll)
Demo
General layout
Journal entry Customer invoice Leave application
CK-ERP Info/Demo website
CK-ERP.net
CK-ERP.org CK-ERP.info
Starting an OSS Project (1)
Target application
Platform - LAMP, Java/J2EE, Ruby-on-Rail Project registration and administration
US: freshmeat.net, sourceforge.net China: gro.clinux.org (Wuhan), gforge.oss.org.cn (Beijing), gf.cs.hit.edu.cn (Harbin), www.cnforge.org (Hangzhou), gforge.lupaworld.com (Hangzhou) Japan: sourceforge.jp
Source code admin -CVS/SVN,distribtion tarball
Starting an OSS Project (2)
Activation mode
Split from an existing project (fork)
phpnuke -> postnuke, XOOPS, Xaraya... Mambo -> Joomla phpgroupware -> egroupware
Re-activate an abandoned project (phpMyTicket)
Package existing projects (RedHat, XAMPP)
Localize existing project (RedFlag Linux) Porting to a new platform (FPDF -> Ruby FPDF)
Design / Program totally new system
Problems (1)
Copyright / License: GPL v2/v3, BSD license, Apache License, Mozilla Public License, ..
Litigation: SCO vs IBM
Common Law: copyright over programs/scripts written by employees belongs to the employer
Apply to copyright holder in writing for permission to re-use copyrighted materials (Important: subsequent acknowledgment) Developer's Certificate of Origin 1.1
Problems (2)
User support
Forum, Mailing List, Wiki, ... CK-ERP – provide support to first time installer only. You are on your own, post installation success.
Problems (3)
Criticism: It's got the world's uglies UI too ...
Analyze and Respond calmly Or no reply
Problems (4)
Internal conflict / difference of opinion (OSS project's Archilles heel)
Decision by popular vote (X)
Everyone is a volunteer/expert with no financial dependency (employer/employee) relationship
Minority just walk away and forks the project Calm, rational discussion to arrive at a mutually acceptable solution
Problems (5)
Ethical considerations
Warning to users that the software is fallible Only work on applications that you are familiar with Example: if you don't have medical background, please do not work on medical applications
A dose of reality
No ¥, $, €, ....
Do it in the service of the people