Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Getting Involved with Spring 101
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
cbeams
October 27, 2011
Programming
240
0
Share
Getting Involved with Spring 101
As presented at SpringOne/2GX 2011 in Chigago, IL.
cbeams
October 27, 2011
More Decks by cbeams
See All by cbeams
The Revolution Will Not Be Centralized
cbeams
0
4.4k
spring.io: Inside and Out
cbeams
0
280
Modern Enterprise Application Configuration with Spring
cbeams
0
77
Intro to Websockets
cbeams
0
260
JavaOne 2012: Java EE and Spring Panel Discusson
cbeams
0
250
Spring 3.1 Review (and 3.2 Preview)
cbeams
0
100
Configuration Enhancements in Spring 3.1
cbeams
0
680
Case Study: Spring Projects on Gradle
cbeams
0
340
Configuration Enhancements in Spring 3.1
cbeams
0
270
Other Decks in Programming
See All in Programming
dRuby over BLE
makicamel
2
300
New "Type" system on PicoRuby
pocke
1
430
エージェンティックRAGにAWSで入門しよう!
har1101
5
110
Modding RubyKaigi for Myself
yui_knk
0
880
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
710
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
170
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.3k
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.2k
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
3
1.4k
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
240
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
470
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
230
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Become a Pro
speakerdeck
PRO
31
6k
Leo the Paperboy
mayatellez
7
1.8k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
130
Navigating Weather and Climate Data
rabernat
0
210
Utilizing Notion as your number one productivity tool
mfonobong
4
310
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
My Coaching Mixtape
mlcsv
0
140
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
170
Done Done
chrislema
186
16k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
570
Transcript
Getting Involved with Spring 101 Chris Beams SpringSource, VMware
Hello!
Chris Beams Committer, core Spring Framework
goals broad overview getting involved today sneak preview of next
gen processes
the spring landscape today
what is Spring?
a framework?
a collection of projects?
a community?
Yes.
spring-framework
spring-framework spring-integration spring-batch spring-data-* spring-roo spring-webflow spring-social spring-amqp spring-hadoop
None
None
many projects, one goal:
provide infrastructural support for enterprise applications
(and there's a lot of infrastructure out there)
many projects, common resources.
springsource.org completely redesigned
issue tracking jira.springsource.org
source control http://fisheye.springsource.org Subversion, e.g http://src.springframework.org/svn/spring-framework Git http://git.springsource.org GitHub http://github.com/SpringSource
continuous integration build.springsource.org
quality control sonar.springsource.org
artifact management Maven Central search.maven.org SpringSource S3 maven repositories (more
on all that in a bit)
forums forum.springsource.org
how we manage our projects
"benevolent dictator" model relatively small teams strong leadership community input
how we design deep subject matter expertise internal peer review
feedback from R&D, consultants, sales engineers distilling jira issues, forum posts conservative releases solve for real-world problems
how we test proper unit testing, integration testing use by
other project teams use by our engineers in the field feedback from users against milestones and RCs
who commits meritocracy typically employees typically strong users we've hired
increasing number of external committers
how we release snapshot->milestone->RC->GA relatively long release cycles plenty of
feedback mostly successful model over time
every project is a little different
every project is a little different share process where it
makes sense but do what's right for each team build systems are a good example
Example spring-framework issue management
Managing SPR JIRA https://jira.springsource.org/browse/SPR 8800+ issues Daily triage Backlog versions
</overview>
ways to get involved
ways to get involved Use the projects! Report issues Help
other users Track and test latest features Participate in user groups Contribute code and other fixes
first things first using Spring projects
quick start (for the impatient)
demo STS template projects
read the documentation http://www.springsource.org/documentation
grab the artifacts via distribution zips http://www.springsource.com/download/community via Maven Central
(preferred) http://search.maven.org
learn from samples and reference applications
samples http://www.springsource.org/samples
reference applications greenhouse live app http://greenhouse.springsource.org home http://www.springsource.org/greenhouse code https://github.com/SpringSource/greenhouse
Spring Roo http://www.springsource.org/spring-roo rapid application development Spring best practices built
in
tutorials http://www.springsource.org/tutorials
stay informed
blogs team blog http://blog.springsource.org news feed http://springsource.org RSS for both
newsletter http://www.springsource.com/newsevents/newsletter-registration
Twitter http://twitter.com/springsource http://twitter.com/springsource/projects http://twitter.com/springsource/employees
Twitter http://twitter.com/springframework http://twitter.com/springframework/team
report issues
improvements & new features share use cases vote!
bugs steps to reproduce are critcal but reproduction projects get
you ♥
repro projects simple as possible self-contained built with Maven or
Gradle
spring-framework-issues https://github.com/SpringSource/spring-framework-issues repro projects, streamlined especially helpful for web application
issues
help other users (and get help when you need it
too)
forum.springsource.org thousands of users great way to build a presence
in the community
stackoverflow.com
None
None
track and test the latest features
snapshots, milestones, RCs http://maven.springframework.org/snapshot http://maven.springframework.org/milestone http://maven.springframework.org/release
all based on Amazon S3 resolvable from Maven but not
browseable http://shrub.appspot.com
participate in user groups google for 'spring user group' in
your area java user groups often have spring content if they don't, consider giving a talk! interested in starting a group? contact
[email protected]
contribute code and other fixes
first: why contribute? scratch your own itch get to know
Spring really well improve your skills street cred, yo.
demo contributor attribution in git projects
kinds of contribution typo fixes, documentation, cosmetic minor bug fixes
and improvements major stuff
how to do it and what to expect
the small stuff typo? doco? just submit a patch or
pull request (we'll talk about pull requests shortly)
the bigger stuff
it's about communication create/comment on the issue express interest, start
a conversation discuss possible implementations build trust
study previous patches and pull requests what kinds of submissions
have been accepted before? code quality, formatting, etc
demo spring-integration pull requests https://github.com/SpringSource/spring-integration/pulls https://github.com/SpringSource/spring-integration/pull/153
grab the source $ svn checkout https://github.com/cbeams/spring-framework.git ... $ git
clone https://github.com/cbeams/spring-framework.git ...
git || svn
git && svn GitHub supports both! https://github.com/blog/966-improved- subversion-client-support your choice
look at the commit log plan to emulate it
demo spring-framework commit log http://progit.org/book/ch5-2.html#commit_guidelines
get to know the project build system Ant ("spring-build") Gradle
("spring-build-gradle") Maven (individual to each project) S2 team blog: building Spring 3
give it a shot! stay in communication with project team
not every contribution will necessarily make it process should be rewarding in any case
(and don't forget tests!)
in any case expect your code to be changed
"Juergenization"
legal stuff You may be asked to sign our CLA
SpringSource Contributor License Agreement
contributing through external projects Example: Spring Social core & Spring
Social Foursquare https://github.com/springsource/spring-social https://github.com/mattupstate/spring-social-foursquare
sneak preview getting involved 2.0
source control improvements everything on GitHub
pull requests are...
the new patch
the new code review
demo pull request / fork and edit
next steps complete the migration of projects spring-framework post 3.1
GA only a few remaining after that
integrate pull requests into our JIRA workflow http://seam-framework.2283336.n4.nabble.com/git-pull-request-JIRA-workflow-td3272708.html http://community.jboss.org/wiki/GuideToUsePullRequestsWithGitHubAndJIRA
improved artifact management Artifactory http://repo.springsource.org
demo: repo.springsource.org unified search put a watch on anytihng license
information transitive resolution migration path from s3 repos
streamline CLA process deep integration via GitHub hooks API CLA
database revised CLA agreement, web-only form
Thanks! @cbeams this presentation on the web: http://cbeams.github.com/spring-community- 101