SlideShare a Scribd company logo
1 of 30
Download to read offline
OpenSourcerers
because it’s a kind of magic
Projekt pieszczochy
Czy ja naprawdę nie mam co robić z wolnym
czasem?
By three methods we may learn wisdom:
First, by reflection, which is noblest;
Second, by imitation, which is easiest; and
third by experience, which is the bitterest.
Confucius
Zalety projektów pieszczochów
● Nie musisz pytać szefa o pozwolenie
● Możesz użyć “zabronionych” technologii
● Możesz pracować z ludźmi z którymi nigdy nie miałbyś
szansy pracować
● Możesz w końcu mieć rację :)
● Możesz też nie mieć racji, i czuć się z tym zajebiście :)
● … i stać się jeszcze lepszym
Co potrzebuje?
● Pomysł
● Czas
● Narzędzia
Pomysł
Tylko nie sprawdzaj czy ktoś już na to wpadł,
jedno mogę Ci zagwarantować,
ktoś już to zrobił :)
Ale ty możesz zrobić to lepiej :)
Czas
● Nudne spotkanie :)
● Bo się właśnie kompiluje :)
● Bezsenność :)
● W TV nie ma nic ciekawego :)
Narzędzia
● Github lub Bitbucket
● Travis lub Cloudbees
● Sonatype OSS -> Maven Central
Przydałby się CI?
● Zarejestruj się na Cloudbees, dostaniesz 40
minut za darmo, na początek wystarczy :)
● Potrzebujesz więcej?
Przyłącz się do
http://www.cloudbees.com/foss/foss-dev.cb
Uwolnij swoje artefakty
● Załóż konto na
https://issues.sonatype.org/secure/Signup!default.jspa
● Zgłoś swój projekt
https://issues.sonatype.org/secure/CreateIssue.jspa?
issuetype=21&pid=10134
A potem to już tylko...
● http://central.sonatype.org/
● Aby twój projekt znalazł się w Maven Central
○ Przygotuje klucz PGP,
gpg --keyserver hkp://pool.sks-keyservers.net --send-keys
○ i z pomocą maven’a
mvn release:perform -Darguments="-Dgpg.passphrase="
-P sonatype-oss-release
Pamiętaj by twój POM
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>9</version>
</parent>
… i jeszcze
<description></description>
<licenses></licenses>
<developers></developers>
<scm></scm>
● Sign contributor license agreement at
https://support.springsource.com/spring_committer_signup
● Fork repository, https://github.com/spring-
projects/
● Read “A day in a life of contributor”
● And listen to @ktosopl :)
A może by tak “commiter” w Spring?
Pull Requesting to Akka
● oraz ogólnie do projektów na github
Pull Requesting to Akka
● przeczytaj: README.md
○ Linki do mailing list etc.
● przeczytaj: CONTRIBUTING.md
○ Jak otwierać issue?
○ Jak otwierać pull request?
○ Jak opisywać commity?
■ Musi zawierać issue nr etc.
Pull Requesting to Akka
● Znajdź issue (np. community contrib):
Pull Requesting to Akka
● Upewnij się że rozumiesz task
Pull Requesting to Akka
● fork + branch off (master / release-2.3)
hakk hakk hakk...
● Branch off: `wip-actor-docs-ktoso`
● A potem commit
● Niektóre projekty mają strict konwencje
○ Akka wymaga:
=doc #1337 Improved Actor docs for Java
+act #1242 Added TailChopping Router
Pull Request
●
Pull Request
●
Pull Request
●
Update PR == rebase + push --force
● git checkout release-2.3
● git pull --rebase akka release-2.3
● git co wip-my-thing
● git rebase release-2.3
● git commit --amen
● git push --force
“Squash PR to one commit”
● git rebase -i release-2.3
○ s - squash
○ p - pick
● git push --force
Pull Request Validation
● Core team operates PR Validator:
○ OK TO TEST
○ PLS BUILD
Pull Request Validation
● Our Validation does tags:
○ validating
○ needs-attention
○ tested
Pull Request Validation
jenkins.akka.io:9498
Team review, LGTMs
● Looks
● Good
● To
● Me
Kudos!

More Related Content

Viewers also liked

Fresh from the Oven (04.2015): Experimental Akka Typed and Akka Streams
Fresh from the Oven (04.2015): Experimental Akka Typed and Akka StreamsFresh from the Oven (04.2015): Experimental Akka Typed and Akka Streams
Fresh from the Oven (04.2015): Experimental Akka Typed and Akka Streams
Konrad Malawski
 

Viewers also liked (20)

Scala dsls-dissecting-and-implementing-rogue
Scala dsls-dissecting-and-implementing-rogueScala dsls-dissecting-and-implementing-rogue
Scala dsls-dissecting-and-implementing-rogue
 
TDD drogą do oświecenia w Scali
TDD drogą do oświecenia w ScaliTDD drogą do oświecenia w Scali
TDD drogą do oświecenia w Scali
 
Git tak po prostu (SFI version)
Git tak po prostu (SFI version)Git tak po prostu (SFI version)
Git tak po prostu (SFI version)
 
Android at-xsolve
Android at-xsolveAndroid at-xsolve
Android at-xsolve
 
[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)
[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)
[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)
 
Android my Scala @ JFokus 2013
Android my Scala @ JFokus 2013Android my Scala @ JFokus 2013
Android my Scala @ JFokus 2013
 
100th SCKRK Meeting - best software engineering papers of 5 years of SCKRK
100th SCKRK Meeting - best software engineering papers of 5 years of SCKRK100th SCKRK Meeting - best software engineering papers of 5 years of SCKRK
100th SCKRK Meeting - best software engineering papers of 5 years of SCKRK
 
Fresh from the Oven (04.2015): Experimental Akka Typed and Akka Streams
Fresh from the Oven (04.2015): Experimental Akka Typed and Akka StreamsFresh from the Oven (04.2015): Experimental Akka Typed and Akka Streams
Fresh from the Oven (04.2015): Experimental Akka Typed and Akka Streams
 
Disrupt 2 Grow - Devoxx 2013
Disrupt 2 Grow - Devoxx 2013Disrupt 2 Grow - Devoxx 2013
Disrupt 2 Grow - Devoxx 2013
 
The things we don't see – stories of Software, Scala and Akka
The things we don't see – stories of Software, Scala and AkkaThe things we don't see – stories of Software, Scala and Akka
The things we don't see – stories of Software, Scala and Akka
 
KrakDroid: Scala on Android
KrakDroid: Scala on AndroidKrakDroid: Scala on Android
KrakDroid: Scala on Android
 
Scalding - Hadoop Word Count in LESS than 70 lines of code
Scalding - Hadoop Word Count in LESS than 70 lines of codeScalding - Hadoop Word Count in LESS than 70 lines of code
Scalding - Hadoop Word Count in LESS than 70 lines of code
 
[Japanese] How Reactive Streams and Akka Streams change the JVM Ecosystem @ R...
[Japanese] How Reactive Streams and Akka Streams change the JVM Ecosystem @ R...[Japanese] How Reactive Streams and Akka Streams change the JVM Ecosystem @ R...
[Japanese] How Reactive Streams and Akka Streams change the JVM Ecosystem @ R...
 
The Need for Async @ ScalaWorld
The Need for Async @ ScalaWorldThe Need for Async @ ScalaWorld
The Need for Async @ ScalaWorld
 
Akka Streams in Action @ ScalaDays Berlin 2016
Akka Streams in Action @ ScalaDays Berlin 2016Akka Streams in Action @ ScalaDays Berlin 2016
Akka Streams in Action @ ScalaDays Berlin 2016
 
How Reactive Streams & Akka Streams change the JVM Ecosystem
How Reactive Streams & Akka Streams change the JVM EcosystemHow Reactive Streams & Akka Streams change the JVM Ecosystem
How Reactive Streams & Akka Streams change the JVM Ecosystem
 
Scala Types of Types @ Lambda Days
Scala Types of Types @ Lambda DaysScala Types of Types @ Lambda Days
Scala Types of Types @ Lambda Days
 
DDDing Tools = Akka Persistence
DDDing Tools = Akka PersistenceDDDing Tools = Akka Persistence
DDDing Tools = Akka Persistence
 
The Cloud-natives are RESTless @ JavaOne
The Cloud-natives are RESTless @ JavaOneThe Cloud-natives are RESTless @ JavaOne
The Cloud-natives are RESTless @ JavaOne
 
End to End Akka Streams / Reactive Streams - from Business to Socket
End to End Akka Streams / Reactive Streams - from Business to SocketEnd to End Akka Streams / Reactive Streams - from Business to Socket
End to End Akka Streams / Reactive Streams - from Business to Socket
 

More from Konrad Malawski

Reactive Stream Processing with Akka Streams
Reactive Stream Processing with Akka StreamsReactive Stream Processing with Akka Streams
Reactive Stream Processing with Akka Streams
Konrad Malawski
 

More from Konrad Malawski (16)

Networks and Types - the Future of Akka @ ScalaDays NYC 2018
Networks and Types - the Future of Akka @ ScalaDays NYC 2018Networks and Types - the Future of Akka @ ScalaDays NYC 2018
Networks and Types - the Future of Akka @ ScalaDays NYC 2018
 
Akka Typed (quick talk) - JFokus 2018
Akka Typed (quick talk) - JFokus 2018Akka Typed (quick talk) - JFokus 2018
Akka Typed (quick talk) - JFokus 2018
 
ScalaSwarm 2017 Keynote: Tough this be madness yet theres method in't
ScalaSwarm 2017 Keynote: Tough this be madness yet theres method in'tScalaSwarm 2017 Keynote: Tough this be madness yet theres method in't
ScalaSwarm 2017 Keynote: Tough this be madness yet theres method in't
 
State of Akka 2017 - The best is yet to come
State of Akka 2017 - The best is yet to comeState of Akka 2017 - The best is yet to come
State of Akka 2017 - The best is yet to come
 
Building a Reactive System with Akka - Workshop @ O'Reilly SAConf NYC
Building a Reactive System with Akka - Workshop @ O'Reilly SAConf NYCBuilding a Reactive System with Akka - Workshop @ O'Reilly SAConf NYC
Building a Reactive System with Akka - Workshop @ O'Reilly SAConf NYC
 
Akka-chan's Survival Guide for the Streaming World
Akka-chan's Survival Guide for the Streaming WorldAkka-chan's Survival Guide for the Streaming World
Akka-chan's Survival Guide for the Streaming World
 
Reactive integrations with Akka Streams
Reactive integrations with Akka StreamsReactive integrations with Akka Streams
Reactive integrations with Akka Streams
 
Not Only Streams for Akademia JLabs
Not Only Streams for Akademia JLabsNot Only Streams for Akademia JLabs
Not Only Streams for Akademia JLabs
 
Reactive Streams, j.u.concurrent & Beyond!
Reactive Streams, j.u.concurrent & Beyond!Reactive Streams, j.u.concurrent & Beyond!
Reactive Streams, j.u.concurrent & Beyond!
 
Krakow communities @ 2016
Krakow communities @ 2016Krakow communities @ 2016
Krakow communities @ 2016
 
Zen of Akka
Zen of AkkaZen of Akka
Zen of Akka
 
Reactive Stream Processing with Akka Streams
Reactive Stream Processing with Akka StreamsReactive Stream Processing with Akka Streams
Reactive Stream Processing with Akka Streams
 
Reactive Streams / Akka Streams - GeeCON Prague 2014
Reactive Streams / Akka Streams - GeeCON Prague 2014Reactive Streams / Akka Streams - GeeCON Prague 2014
Reactive Streams / Akka Streams - GeeCON Prague 2014
 
2014 akka-streams-tokyo-japanese
2014 akka-streams-tokyo-japanese2014 akka-streams-tokyo-japanese
2014 akka-streams-tokyo-japanese
 
Distributed Consensus A.K.A. "What do we eat for lunch?"
Distributed Consensus A.K.A. "What do we eat for lunch?"Distributed Consensus A.K.A. "What do we eat for lunch?"
Distributed Consensus A.K.A. "What do we eat for lunch?"
 
Akka persistence == event sourcing in 30 minutes
Akka persistence == event sourcing in 30 minutesAkka persistence == event sourcing in 30 minutes
Akka persistence == event sourcing in 30 minutes
 

Open soucerers - jak zacząć swoją przygodę z open source