From 1f11021de1324122dd4ba12bf45189f6a6ed6888 Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Mon, 24 Sep 2012 12:11:50 +0200 Subject: [PATCH 1/5] Adding a CONTRIBUTING.md --- CONTRIBUTING.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..e69de29bb2 From 429e8799a27c1279686f972e4522405ca9652fa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Viktor=20Klang=20=28=E2=88=9A=29?= Date: Mon, 24 Sep 2012 13:35:16 +0300 Subject: [PATCH 2/5] Update CONTRIBUTING.md Adding workflow instructions for contributing to Akka --- CONTRIBUTING.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e69de29bb2..250db4a22d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -0,0 +1,35 @@ +#Contributing to Akka# + +Greetings traveller! + +##Infrastructure## + +* [Akka Contributor License Agreement](www.typesafe.com/contribute/cla) +* [Akka Issue Tracker](http://doc.akka.io/docs/akka/current/project/issue-tracking.html) + +##Workflow## + +0. Sign the Akka Contributor License Agreement, + we won't accept anything from anybody who has not signed it. +1. Find-or-create a ticket in the issue tracker +2. Assign that ticket to yourself +3. Create a local branch with the following name format: wip-X-Y + where the X is the number of the ticket in the tracker, + and Y is your initials or similar. +4. Do what needs to be done (with tests and docs if applicable). + Your branch should pass all tests before going any further. +5. Push the branch to your clone of the Akka repository +6. Create a Pull Request onto the applicable Akka branch, + if the number of commits are more than a few, please squash the + commits first. +7. Change the status of your ticket to "Test" +8. The Pull Request will be reviewed by the Akka committers +9. Modify the Pull Request as agreed upon during the review, + then push the changes to your branch in your Akka repository, + the Pull Request should be automatically updated with the new + content. +10. Several cycles of review-then-change might occur. +11. Pull Request is either merged by the Akka committers, + or rejected, and the associated ticket will be updated to + reflect that. +12. Delete the local and remote wip-X-Y \ No newline at end of file From 99aeef3ee9727e0dbb60c8406d520f4a8b7aec6c Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Mon, 24 Sep 2012 15:20:27 +0200 Subject: [PATCH 3/5] Adding Code Reviews section and Source style section to the CONTRIBUTING.md --- CONTRIBUTING.md | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 250db4a22d..a85436ef57 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,6 +6,7 @@ Greetings traveller! * [Akka Contributor License Agreement](www.typesafe.com/contribute/cla) * [Akka Issue Tracker](http://doc.akka.io/docs/akka/current/project/issue-tracking.html) +* [Scalariform](https://github.com/mdr/scalariform) ##Workflow## @@ -13,9 +14,10 @@ Greetings traveller! we won't accept anything from anybody who has not signed it. 1. Find-or-create a ticket in the issue tracker 2. Assign that ticket to yourself -3. Create a local branch with the following name format: wip-X-Y +3. Create a local branch with the following name format: wip-X-Y-Z where the X is the number of the ticket in the tracker, - and Y is your initials or similar. + and Y is some brief keywords of the ticket title and Z is your initials or similar. + Example: wip-2373-add-contributing-md-√ 4. Do what needs to be done (with tests and docs if applicable). Your branch should pass all tests before going any further. 5. Push the branch to your clone of the Akka repository @@ -32,4 +34,25 @@ Greetings traveller! 11. Pull Request is either merged by the Akka committers, or rejected, and the associated ticket will be updated to reflect that. -12. Delete the local and remote wip-X-Y \ No newline at end of file +12. Delete the local and remote wip-X-Y-Z + +##Code Reviews## + +Akka utilizes peer code reviews to streamline the codebase, reduce the defect ratio, +increase maintainability and spread knowledge about how things are solved. + +Core review values: + +* Rule: [The Boy Scout Rule](http://programmer.97things.oreilly.com/wiki/index.php/The_Boy_Scout_Rule) + Why: Small improvements add up over time, keeping the codebase in shape. +* Rule: [Don't Repeat Yourself](http://programmer.97things.oreilly.com/wiki/index.php/Don't_Repeat_Yourself) + Why: Repetitions are not maintainable, keeping things DRY makes it easier to fix bugs and refactor, + since you only need to apply the correction in one place, or perform the refactoring at one place. +* Rule: Feature tests > Integration tests > Unit tests + Why: Without proving that a feature works, the code is only liability, + Without proving that a feature works with other features, the code is of limited value, + Without proving the individual parts of a feature works, the code is harder to debug. + +##Source style## + +Akka uses [Scalariform](https://github.com/mdr/scalariform) to enforce some of the code style rules. \ No newline at end of file From a51d8dbe743df9a96b9880aa2256bd7466df0ee2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Viktor=20Klang=20=28=E2=88=9A=29?= Date: Mon, 24 Sep 2012 16:23:45 +0300 Subject: [PATCH 4/5] Update CONTRIBUTING.md Properly indenting CONTRIBUTING.md --- CONTRIBUTING.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a85436ef57..ba370e7bb5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -44,14 +44,14 @@ increase maintainability and spread knowledge about how things are solved. Core review values: * Rule: [The Boy Scout Rule](http://programmer.97things.oreilly.com/wiki/index.php/The_Boy_Scout_Rule) - Why: Small improvements add up over time, keeping the codebase in shape. + - Why: Small improvements add up over time, keeping the codebase in shape. * Rule: [Don't Repeat Yourself](http://programmer.97things.oreilly.com/wiki/index.php/Don't_Repeat_Yourself) - Why: Repetitions are not maintainable, keeping things DRY makes it easier to fix bugs and refactor, + - Why: Repetitions are not maintainable, keeping things DRY makes it easier to fix bugs and refactor, since you only need to apply the correction in one place, or perform the refactoring at one place. * Rule: Feature tests > Integration tests > Unit tests - Why: Without proving that a feature works, the code is only liability, - Without proving that a feature works with other features, the code is of limited value, - Without proving the individual parts of a feature works, the code is harder to debug. + - Why: Without proving that a feature works, the code is only liability. + Without proving that a feature works with other features, the code is of limited value. + Without proving the individual parts of a feature works, the code is harder to debug. ##Source style## From 6fc880c4dd5353ed355edaf5cc7f5b4111f3f1c8 Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Mon, 24 Sep 2012 16:18:52 +0200 Subject: [PATCH 5/5] Adding docs section in the CONTRIBUTING.md about experimental modules. --- CONTRIBUTING.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a85436ef57..fa56d2849e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -55,4 +55,12 @@ Core review values: ##Source style## -Akka uses [Scalariform](https://github.com/mdr/scalariform) to enforce some of the code style rules. \ No newline at end of file +Akka uses [Scalariform](https://github.com/mdr/scalariform) to enforce some of the code style rules. + +##Contributing Modules## + +For external contributions of entire modules, the normal way is to establish it as a stand-alone module first, + to show that there is a need for the module. The next step would be to add it to Akka as an "experimental module", + then when the module is hardened, well documented and tested it becomes an officially supported Akka module. + +[List of experimental Akka modules](http://doc.akka.io/docs/akka/current/experimental/index.html) \ No newline at end of file