SLIDE 1
Cathedrals in the Cloud Musings on APIs for the Web Mike Amundsen - - PowerPoint PPT Presentation
Cathedrals in the Cloud Musings on APIs for the Web Mike Amundsen - - PowerPoint PPT Presentation
Cathedrals in the Cloud Musings on APIs for the Web Mike Amundsen API Academy / CA @mamund Eric S. Raymond (ESR) "In the beginning, there were Real Programmers" - ESR "In the beginning, there were Real Programmers" - ESR
SLIDE 2
SLIDE 3
SLIDE 4
SLIDE 5
SLIDE 6
SLIDE 7
SLIDE 8
SLIDE 9
SLIDE 10
SLIDE 11
SLIDE 12
SLIDE 13
SLIDE 14
SLIDE 15
SLIDE 16
SLIDE 17
SLIDE 18
SLIDE 19
SLIDE 20
SLIDE 21
Eric S. Raymond (ESR)
SLIDE 22
"In the beginning, there were Real Programmers" - ESR
SLIDE 23
SLIDE 24
SLIDE 25
SLIDE 26
SLIDE 27
SLIDE 28
SLIDE 29
"In the beginning, there were Real Programmers" - ESR
SLIDE 30
"In the beginning...
SLIDE 31
SLIDE 32
SLIDE 33
SLIDE 34
SLIDE 35
SLIDE 36
SLIDE 37
SLIDE 38
SLIDE 39
SLIDE 40
SLIDE 41
SLIDE 42
SLIDE 43
Cathedral vs. Bazaar
SLIDE 44
The Cathedral
SLIDE 45
The Cathedral
The Cathedral model, in which source code is
- nly available upon each software release.
SLIDE 46
SLIDE 47
SLIDE 48
The Bazaar
SLIDE 49
The Bazaar
The Bazaar model, in which the code is developed over the Internet in view of the public.
SLIDE 50
SLIDE 51
SLIDE 52
"Centrally designed [systems] start out strong and improve logarithmically.
SLIDE 53
"Centrally designed [systems] start out strong and improve logarithmically. Evolvable [systems] start out weak and improve exponentially."
SLIDE 54
The Lessons of Open Source Software
SLIDE 55
SLIDE 56
- 1. Every good work of software starts
by scratching a developer's personal itch.
SLIDE 57
"Write programs that do
- ne thing and do it well."
SLIDE 58
"Write programs that do
- ne thing and do it well."
"Write programs to work together."
- Douglas McIlroy
SLIDE 59
- 3. Plan to throw one [version] away;
you will, anyhow.
(Copied from Frederick Brooks' The Mythical Man Month)
SLIDE 60
SLIDE 61
- 3. Plan to throw one [version] away;
you will, anyhow.
(Copied from Frederick Brooks' The Mythical Man Month)
SLIDE 62
If you want to succeed, double your failure rate."
- Thomas J. Watson
SLIDE 63
- 5. When you lose interest in a
program, your last duty to it is to hand it off to a competent successor.
SLIDE 64
SLIDE 65
- 7. Release early. Release often. And
listen to your customers.
SLIDE 66
SLIDE 67
"We onboard engineers quickly and their first goal is simple: deploy on your first day."
- Chad Dickerson
SLIDE 68
"We onboard engineers quickly and their first goal is simple: deploy on your first day."
- Chad Dickerson
SLIDE 69
- 9. Smart data structures and dumb
code works a lot better than the other way around.
SLIDE 70
"Bad programmers worry about the code. Good programmers worry about data structures and their relationships."
- - Linus Torvalds
SLIDE 71
SLIDE 72
"Write programs to handle text streams, because that is a universal interface."
- Douglas McIlroy
SLIDE 73
"Write programs to handle negotiated message models, because that is a universal interface."
- ala Douglas McIlroy
SLIDE 74
- 14. Any tool should be useful in the
expected way, but a truly great tool lends itself to uses you never expected.
SLIDE 75
"The value of a well- designed object is that the people who use it can do things with it that the designer never imagined."
- Donald Norman
SLIDE 76
"Web architecture is all about serendipity"
- Stu Charlton
SLIDE 77
- Scratch a (small) itch
- Throw early iterations away
- Plan to hand off the project
- Release early and often
- Smart messages beats dumb code
- Build-in serendipitous reuse
Key Lessons
SLIDE 78
One more thing...
SLIDE 79
- 19. Provided the development
coordinator has a communications medium at least as good as the Internet,
SLIDE 80
- 19. Provided the development
coordinator has a communications medium at least as good as the Internet, and knows how to lead without coercion,
SLIDE 81
- 19. Provided the development
coordinator has a communications medium at least as good as the Internet, and knows how to lead without coercion, many heads are inevitably better than one.
SLIDE 82
SLIDE 83
The Bazaar
SLIDE 84
SLIDE 85
SLIDE 86
SLIDE 87
SLIDE 88
We're all Real Programmers
SLIDE 89