![Page 1: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/1.jpg)
Sakai - OpenSource consumer.
How Sakai works with Open Source projects
Dr Ian BostonCTO, Caret, University of Cambridge
Sakai3 leadApache Shindig PPMC Member
Apache Sling PMC Member
![Page 2: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/2.jpg)
What is Sakai ?
CommunityDevelopersEducatorsResearchers
Higher EdProduction VLE/VREGlobal, 161 installations
Scalable, 100 - 200K users
Open SourceSakai Foundation (501c)ECL2 (Apache2 like)90% Java
50 - 60 core committers
![Page 3: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/3.jpg)
History
2004 2009
v1.0 v2.6v1.5 v2.0 v2.4
1.8m loc
![Page 4: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/4.jpg)
Libraries and IP
GovernanceLicense Clearance
Committer ClearanceCCLA
CLALibrary Selection
v2 Libraries
SpringHibernateApache CommonsApache Tomcat
![Page 5: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/5.jpg)
Lessons for V2
Code is not the only thing that matters
Someone else has probably written a better implementation already
Great CodeBad Community
Bad CodeGreat Community
![Page 6: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/6.jpg)
Sakai 3
Only own what we have to
Write less, keep it simple
Select on community, license then code
Engage, contribute, influence
![Page 7: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/7.jpg)
OpenSocialCampfire Announcement 11/2007
1,000s of DevelopersApp PortabilityFantastic UX
800M users315M app installs
1st Birthday 05/2009
![Page 8: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/8.jpg)
Sakai Early 2008
Academic Social Networking
Institutional Technical
Federation/Integration
Gen Y/Z
Web NGUX Driven
App Community
![Page 9: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/9.jpg)
Apache ShindigOpenSocial RI Incubator
Code donated to the IncubatorGrowing Community
Mainly Google
In production
No ContainerUnclear SPI
![Page 10: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/10.jpg)
Engage
Read and UnderstandAsk stupid questions, listenPatch, bug fix, make mistakes
Trust Read and UnderstandAsk questions, listen
Patch, bug fix, make mistakes
Commit to taking eternal responsibility for every line of code you commit.
![Page 11: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/11.jpg)
First Contact
Lurkbut not for long
First message“Hi, I am a newbee to Jackrabbit. How
do I ..... “
First Patch Spelling mistake?
![Page 12: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/12.jpg)
Community Frustrations
“The code is ugly an broken, I wouldn't do it like that”
“It doesn't address my use cases”
“My patches keep breaking and they won’t take them.”
explain, educate, help, support, joke, show humility, no
arrogance, present evidence, move on
![Page 13: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/13.jpg)
Committer Pain
“I don’t have time to read 10 paragraphs and try and work out what is being said”
“I have a life, I volunteered”
“Not that question yet again”
“I cant take responsibility for THAT! (WTF)”
explain, educate, help, support, joke, show humility, no
arrogance, present evidence, move on
![Page 14: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/14.jpg)
Apache Invitation
• Trust builds, volume of patches, contributions
• Private PMC Vote or PPMC + IPMC
• Invite, Accept
• Legals
• Commit access
![Page 15: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/15.jpg)
What then.
• Commit what you like - No
• Nothing changes except your name appears on “svn blame” - Yes
• When the build breaks at the weekend... you feel like you should fix it - Yes
![Page 16: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/16.jpg)
Apache SlingEnterprise Content Management
Web app framework
The name "Sling" has been proposed by Roy Fielding who explained it like this:
[The name is] Biblical in nature. The story of David: the weapon he uses to slay the giant Goliath is a sling. Hence, our David's [David Nuescheler, CTO of Day Software] favorite weapon.
![Page 17: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/17.jpg)
Educational Content Management
50% Enterprise Content Management Use Cases50% Educational Use Cases
everyone is an editorgroups
educational apps integration
Sakai 3
50% Sling50% Sakai
UI/UX
![Page 18: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/18.jpg)
Architecture
logging
Http
config
authn authz JPA
locking cache
personal public presence
resource
event
messaging searchfriends
JR-API
json mime
cron engine httpauth
openid formauth
JR-access JR-user webdav
servlets resolver scripting
Ruby Python
ESPJR-Client Scala
Shindig
Apache Jackrabbit
OSGi/ Apache Felix
JMS
SMS
XMPP
IMAP
POP3
VersionManager
PersistenceManager
IMS CC ICOM Rules Workflow
IMS LIS
LDAP
HTTP REST + JSON
Caldav
![Page 19: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/19.jpg)
Basic Architecture
HTML/JSUI
HTTP REST Server
HTTP JSON
UX LeadUI Developer friendly
Scalablelightweight
![Page 20: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/20.jpg)
App Development
UX Research UX DesignUI
DevelopmentServer
Development
![Page 21: Sakai - OpenSource consumer.oss-watch.ac.uk/events/2009-10-09/ianboston.pdf · Sakai - OpenSource consumer. How Sakai works with Open Source projects Dr Ian Boston CTO, Caret, University](https://reader035.vdocuments.site/reader035/viewer/2022081517/5fd81535b4e8a11a8f71b642/html5/thumbnails/21.jpg)
UI DesignScreens designed as wireframes with interactions.
Implemented as HTML
Integrated into framework
UX Designer, UI Designer
UI Designer, UI Developer
UI Designer, UI Developer
Driving REST API Specification