Top Banner
Working in and with the Apache Software Foundation Bertrand Delacrétaz, ASF member and board member Senior developer, Day Software, www.day.com [email protected], http://grep.codeconsult.ch Find the slides at http://www.slideshare.net/bdelacretaz slides revision: 2008-06-10 Meet the Communities, Luxembourg, 12.6.2008 1 Tuesday, June 10, 2008
57

Working In And With the Apache Software Foundation

Apr 16, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Working In And With the Apache Software Foundation

Working in and withthe Apache SoftwareFoundation

Bertrand Delacrétaz, ASF member and board member

Senior developer, Day Software, www.day.com

[email protected], http://grep.codeconsult.ch

Find the slides at http://www.slideshare.net/bdelacretaz slides revision: 2008-06-10

Meet the Communities, Luxembourg, 12.6.2008

1Tuesday, June 10, 2008

Page 2: Working In And With the Apache Software Foundation

Let’s talk about...The ASF structure.

How Day works with the ASF.

How the ASF works with Day.

ECM? Sling, Jackrabbit.

2Tuesday, June 10, 2008

Page 3: Working In And With the Apache Software Foundation

Why me?

ASF member and (since last week) board member - though not officially representing the the ASF today.

Day hired be based on my ASF activities.

Not a marketing/business strategy person.

I speak french ;-)

3Tuesday, June 10, 2008

Page 4: Working In And With the Apache Software Foundation

1765 committers65 projects (+ incubator)

No officesalmost no f2f meetings

all decisions on mailing lists

Tens of releases every year

close to 300 members3 TB/day www traffic

The ASF in 2008

4Tuesday, June 10, 2008

Page 5: Working In And With the Apache Software Foundation

The ASF backbone?

logos: Adium, Roller, Colloquy, MoinMoin

revision control system

mailing lists + archivesIRC

Instant messaging

Wikis

blogs

issue tracker

automated builds

httpd (of course)

5Tuesday, June 10, 2008

Page 6: Working In And With the Apache Software Foundation

Collaboration

6Tuesday, June 10, 2008

Page 7: Working In And With the Apache Software Foundation

ASF structure

Contributors (thousands)

Committers (~2000)

PMC members(~500?)

ASF members(~300)

Board ofdirectors (9)

Public Relationscommittee

Legaladvisors

Hiredpersonnel (3)

Sponsors

7Tuesday, June 10, 2008

Page 8: Working In And With the Apache Software Foundation

Collaboration

but how?

8Tuesday, June 10, 2008

Page 9: Working In And With the Apache Software Foundation

Without a vision...

Col

labo

ratio

n

9Tuesday, June 10, 2008

Page 10: Working In And With the Apache Software Foundation

What’s our status right now?

Col

labo

ratio

n

10Tuesday, June 10, 2008

Page 11: Working In And With the Apache Software Foundation

Where can I help?

Col

labo

ratio

n

11Tuesday, June 10, 2008

Page 12: Working In And With the Apache Software Foundation

Why did we do this?

Col

labo

ratio

n

12Tuesday, June 10, 2008

Page 13: Working In And With the Apache Software Foundation

Shared vision Real-time updates

Real-time help requests Self-service archives

Col

labo

ratio

n

13Tuesday, June 10, 2008

Page 14: Working In And With the Apache Software Foundation

Sharing the Vision14Tuesday, June 10, 2008

Page 15: Working In And With the Apache Software Foundation

Sharing the vision?

Central HubMess Media?

?

?

?

?

?

?

??

oral tradition? permanent record

15Tuesday, June 10, 2008

Page 16: Working In And With the Apache Software Foundation

Sharing the vision.

mailing lists + archives

Searchable mailing listsinstead of 1-to-1 email

blogs

Blogs help for out-of-band conversations

Wikis

Wikis instead of email attachments

verba volant, scripta manent...

16Tuesday, June 10, 2008

Page 17: Working In And With the Apache Software Foundation

Real-time updates

17Tuesday, June 10, 2008

Page 18: Working In And With the Apache Software Foundation

We need fast feedback!

18Tuesday, June 10, 2008

Page 19: Working In And With the Apache Software Foundation

Feedback loop

code

feedback

developer user manager

How fast is your loop?Seconds? Weeks?

19Tuesday, June 10, 2008

Page 20: Working In And With the Apache Software Foundation

Real-time updates?

code

bugs

tests

decisions

email events

RSS feeds

Collaboration hub!

subscriptions

20Tuesday, June 10, 2008

Page 21: Working In And With the Apache Software Foundation

Source code control system instead of “code on the fileserver”.

Issue tracker events instead of “what did you do today”?

Mailing list “events” instead of “yell around the office”.

Automated builds instead of “wait for Bob to build it on Linux”.

Real-time updates

21Tuesday, June 10, 2008

Page 22: Working In And With the Apache Software Foundation

Real-time help requests

22Tuesday, June 10, 2008

Page 23: Working In And With the Apache Software Foundation

Real-time help requests?

developermanager

A help (feature, enhancement) request is a dialog, and history is important.

23Tuesday, June 10, 2008

Page 24: Working In And With the Apache Software Foundation

Mess Media?

?

?

?

?

?

?

??

Issue Tracking

Real-time help requests

24Tuesday, June 10, 2008

Page 25: Working In And With the Apache Software Foundation

issue trackerIssue tracker instead of “just ask Bob to fix this”.

Real-time help requests

25Tuesday, June 10, 2008

Page 26: Working In And With the Apache Software Foundation

Self-service archives26Tuesday, June 10, 2008

Page 27: Working In And With the Apache Software Foundation

Self-service archives?

No time to document everything that happens.

But new project members need the information, self-service.

27Tuesday, June 10, 2008

Page 28: Working In And With the Apache Software Foundation

Subversion logs, traceability of code.Structured and searchable issue tracker data.Semi-structured and searchable mailing lists.Blogs and Wikis stay around.

Zero effort if using the rights tools!

Self-service archives

28Tuesday, June 10, 2008

Page 29: Working In And With the Apache Software Foundation

Are We There Yet?

29Tuesday, June 10, 2008

Page 30: Working In And With the Apache Software Foundation

Vision Updates Help Archives

Extra tools:

Col

labo

ratio

n

30Tuesday, June 10, 2008

Page 31: Working In And With the Apache Software Foundation

Migration path?

Will your team buy it?

31Tuesday, June 10, 2008

Page 32: Working In And With the Apache Software Foundation

Why would you work with the ASF?

CollaborationLearn

PracticeIntegrate

32Tuesday, June 10, 2008

Page 33: Working In And With the Apache Software Foundation

Day and the ASF

alexkli, angela, dpfister, fielding [1], fmeschbe, jukka, mreutegg, ppiegaze, stefan, tripod, uncled

bdelacretaz [2], cziegeler, fmeschbe

[1] httpd project and Apache Group cofounder[2] member of the Board of directors

Committers, PMC members and mentors on these projects, and others

33Tuesday, June 10, 2008

Page 34: Working In And With the Apache Software Foundation

What does Day get out of this?Great infrastructure software.Many eyeballs.

Industry recognition (+ JSR-170)

Credibility with world-class people.

The Open Source way of working. Works inside the company as well.

Contacts. Networks. Ideas.

34Tuesday, June 10, 2008

Page 35: Working In And With the Apache Software Foundation

Conclusions...

OpenCollaboration

Closed

it’s all about

and being

as opposed to being

to ideas, people and collaboration

35Tuesday, June 10, 2008

Page 36: Working In And With the Apache Software Foundation

And by the way, what are these?

?36Tuesday, June 10, 2008

Page 37: Working In And With the Apache Software Foundation

Jackrabbit in a few words...JSR-170 (JCR) reference implementation

Codebase initially donated by Day

No user interface, few tools

Infrastructure for Day’s products

Used in more and more projects (ASF and elsewhere)

dev@ (360) users@ (440)

37Tuesday, June 10, 2008

Page 38: Working In And With the Apache Software Foundation

Sling in a few words...

RESTful application layer for JCR repositories.

Scriptable, simple things are simple to implement.

OSGi framework - extreme modularity, enterprise-ready.

Servlet API - to the max.

38Tuesday, June 10, 2008

Page 39: Working In And With the Apache Software Foundation

OSGi bundles

OSGi webapp

Apache Sling architecture

OSGI and JCR based scriptable applications framework

OSGi framework(Apache Felix)

JCRrepository

javascript

JSPRuby

Velocityetc..

debugger

WebDAVserver

Sling OSGiconsole

browserfilesystem

JSR-170 API

HTTP

resource resolution

custom servletsand components

JSR 223 scripting

servlet/script resolution

standardservlets

39Tuesday, June 10, 2008

Page 40: Working In And With the Apache Software Foundation

HTTPrequest

URLanalysis

Resourceresolution

Script/Servletresolution

Script/Servletexecution

JCRrepository

OSGi OSGi

OSGiOSGi

Sling request processing

40Tuesday, June 10, 2008

Page 41: Working In And With the Apache Software Foundation

/cars/audi/s4.details.html

Reclaiming the web:Sling URL decomposition

41Tuesday, June 10, 2008

Page 42: Working In And With the Apache Software Foundation

Repository

/cars/audi/s4.details.html

Reclaiming the web:Sling URL decomposition

41Tuesday, June 10, 2008

Page 43: Working In And With the Apache Software Foundation

Repository

/cars/audi/s4.details.html

Content Repository Path

Reclaiming the web:Sling URL decomposition

41Tuesday, June 10, 2008

Page 44: Working In And With the Apache Software Foundation

Repository

/cars/audi/s4.details.html

Content Repository Path

Reclaiming the web:Sling URL decomposition

41Tuesday, June 10, 2008

Page 45: Working In And With the Apache Software Foundation

Repository

/cars/audi/s4.details.html

Content Repository Path...selects a particular script

Reclaiming the web:Sling URL decomposition

41Tuesday, June 10, 2008

Page 46: Working In And With the Apache Software Foundation

Repository

/cars/audi/s4.details.html

Content Repository Path...selects a particular script

Reclaiming the web:Sling URL decomposition

Data First!

41Tuesday, June 10, 2008

Page 47: Working In And With the Apache Software Foundation

simple write example

write me!http://localhost:7402/apps/firs

tsteps/1_write.html

<html>

<head><title>s

ling: simple w

rite example</

title>

</head><body>

<form action="

/content/first

steps" method=

"POST">

<!-- title -->

<h2>Title</h2>

<input type="t

ext" name="Tit

le" />

<!-- descripti

on -->

<h2>Descriptio

n</h2>

<textarea rows

="5" name="Des

cription">

</te

xtarea>

<!-- color -->

<h2>Color</h2>

<select name="

Color">

<option value=

"red">red

<option value=

"green">green

</select>

</form>

</body>

</html>

42Tuesday, June 10, 2008

Page 48: Working In And With the Apache Software Foundation

read me!http://localhost:7402/apps/firststeps/2_read.html

<html>

<head><title>s

ling: simple r

ead example</t

itle>

</head>

<body>

<script src

="/system/slin

g.js"></script

<script>

var node=Sl

ing.getContent

("/content/fir

ststeps");

var div='<d

iv style="back

ground-color:'

+node.Color+'"

>';

document.wr

ite(div);

</script>

<h2><script>

document.write

(node.Title);

</script></h2>

<p><script>

document.write

(node.Descript

ion);

</script></p>

</div>

</body>

</html>

simple read example

43Tuesday, June 10, 2008

Page 49: Working In And With the Apache Software Foundation

add newhttp://localhost:7402/apps/firststeps/3_addnew.html

<html>

<head><title>s

ling: add new

entry example<

/title>

</head><body>

<form action="

/content/first

steps/entries/

*"

method="PO

ST" >

<h2>Title</h2>

<input type="t

ext" name="Tit

le" />

<h2>Descriptio

n</h2>

<textarea rows

="5" name="Des

cription"></te

xtarea>

<h2>Color</h2>

<select name="

Color">

<option value=

"red">red

<option value=

"green">green

</select>

<p><input type

="submit"></p>

</form>

</body>

</html>

add new entry

44Tuesday, June 10, 2008

Page 50: Working In And With the Apache Software Foundation

list entrieshttp://localhost:7402/apps/firststeps/4_list.html

<html>

<head><title>s

ling: list ent

ries example</

title>

[...]

<script>

var entries=Sl

ing.getContent

("/content/fir

ststeps/entrie

s", 2);

</script>

<div>

<script>

for (var a i

n entries) {

var entry=ent

ries[a];

document.

write('<div st

yle="backgroun

d-color:'+entr

y.Color+'">');

document.

write('<h2>'+e

ntry.Title+'</

h3>');

document.

write(entry.De

scription);

if(entry.

Image) {

[...]

}

document.

write('</div>'

);

document.

write('<a href

="4_list.html"

onclick=

”ujax.removeCo

ntent(\'/mydat

a/entries/\'+a

+'\'">

remove</

a>');

}

</script>

<a href="3_add

new.html">add

new</a>

</div>

</body>

list entries

45Tuesday, June 10, 2008

Page 51: Working In And With the Apache Software Foundation

Sling’s unique selling pointsTight integration with JCR.

RESTful processingConvention over configuration - convention over code!

Scriptable (javascript, JSP, Ruby, Velocity, etc.)Both client-side and server-side javascript.

Servlets and scripts are interchangeable.

Integrated OSGi frameworkExtensible, hackable, reconfigurable and future-proof.

46Tuesday, June 10, 2008

Page 52: Working In And With the Apache Software Foundation

47Tuesday, June 10, 2008

Page 53: Working In And With the Apache Software Foundation

47Tuesday, June 10, 2008

Page 54: Working In And With the Apache Software Foundation

seedev.day.co

m

47Tuesday, June 10, 2008

Page 55: Working In And With the Apache Software Foundation

Essentially:

Re-build “TSS++” as a content app.

seedev.day.co

m

47Tuesday, June 10, 2008

Page 56: Working In And With the Apache Software Foundation

Final wordsDay is very happy about our relationship with the ASF.The open source way of doing things works for us, both internally and externally.Jackrabbit + Sling = solid foundation for all our products: WCM, DAM, Wiki, blogs, and more to come.Balance between open source and making a living is still a work in progress.

incubator.apache.org/sling jackrabbit.apache.org www.apache.org

48Tuesday, June 10, 2008

Page 57: Working In And With the Apache Software Foundation

photo credits

All photographs come from the morguefile.com public image archive, used according to the morguefile license. Thanks to users gracey, click, jusben, taliesin, wallyir, peekaysee, jpkwitter, penywise and cohdra.

Original URLs:http://morguefile.com/archive/?display=127643http://morguefile.com/archive/?display=186412http://morguefile.com/archive/?display=180641http://morguefile.com/archive/?display=188806http://morguefile.com/archive/?display=189113http://morguefile.com/archive/?display=192078http://morguefile.com/archive/?display=119042http://morguefile.com/archive/?display=199947http://morguefile.com/archive/?display=196923http://morguefile.com/archive/?display=212718

49Tuesday, June 10, 2008