@@ -17,84 +17,59 @@ breadcrumbs:
1717 - participants : Participants
1818---
1919
20- KaiCode is an annual open source festival,
21- started in [ 2015] ( https://www.yegor256.com/award.html ) .
22-
23- This is how it works: First, you submit your open-source repository to us.
24- Then, our jury will review it. If your repository wins, we give you
25- a monetary reward and a laurel badge that you can attach to your
26- [ README file] [ readme ] .
27-
28- In order to get into the competition, your repository must be:
29-
30- * Hosted on [ GitHub] ( https://github.com )
31- * Larger than 4,000 [ SLOC] ( https://en.wikipedia.org/wiki/Source_lines_of_code )
32- * Older than 12 months (since the first commit)
33- * Younger than 60 months (since the first commit)
34- * Not yet a winner of KaiCode
35-
36- To win, your repository must demonstrate the highest
37- quality of code and development processes.
38- In particular, the jury pays attention to the following
39- (in no particular order):
40-
41- * Clean code
42- * Design choices
43- * [ Coding conventions] ( https://en.wikipedia.org/wiki/Coding_conventions ) control
44- * [ Static analysis] ( https://en.wikipedia.org/wiki/Static_program_analysis )
45- * [ Unit testing] ( https://en.wikipedia.org/wiki/Unit_testing )
46- * [ Integration testing] ( https://en.wikipedia.org/wiki/Integration_testing )
47- * [ Code coverage control] ( https://en.wikipedia.org/wiki/Code_coverage )
48- * [ Requirements] ( https://en.wikipedia.org/wiki/Requirements_engineering )
49- * Documentation
50- * [ Git branching] ( https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell )
51- * [ Bug] ( https://en.wikipedia.org/wiki/Bug_tracking_system )
52- and [ issue] ( https://en.wikipedia.org/wiki/Issue_tracking_system ) tracking
53- * [ Code reviews] ( https://en.wikipedia.org/wiki/Code_review )
54- * [ Continuous Integration] ( https://en.wikipedia.org/wiki/Continuous_integration )
55- * [ Releases] ( https://en.wikipedia.org/wiki/Software_release_life_cycle )
56- and [ semantic versioning] ( https://semver.org/ )
57- * [ Licensing] ( https://en.wikipedia.org/wiki/Open-source_license )
58-
59- This doesn't matter:
60-
61- * How popular is your product?
62- * What programming languages do you use?
63- * What is the license?
64- * What is the programming paradigm (OOP, FP, etc.)?
65-
66- One GitHub user may submit only one project.
67-
68- Neither jury members nor festival organizers are
69- allowed to submit their projects.
70-
71- We reserve the right to reject any submission without an explanation.
72-
73- ## Rewards
74-
75- There are three nominations:
76-
77- ![ perfect] ( images/laurel-perfect.svg )
78- Perfect Product:\
79- $2,048
80- {: .laurel}
81-
82- ![ excellent] ( images/laurel-excellent.svg )
83- Excellent Product:\
84- $1,024
85- {: .laurel}
86-
87- ![ awesome] ( images/laurel-awesome.svg )
88- Awesome Product:\
89- $512
90- {: .laurel}
91-
92- The money will be sent to you in Bitcoins.
20+ In KaiCode'25, we received ** 112 applications** .
21+ After a three-phase review of them, the jury
22+ made a decision to reward three projects and the steering committee agreed:
23+
24+ ![ perfect] ( images/2025/faststream.svg )
25+ The [ ag2ai/faststream] ( https://github.com/ag2ai/faststream ) project (4.3K★),
26+ a Python library that simplifies the process of writing producers and consumers for message queues,
27+ demonstrated ** perfect** software development practices:
28+ code style control,
29+ continuous integration,
30+ automated testing,
31+ versioning and releases,
32+ issue triaging,
33+ and contribution management discipline.
34+ Source files are small, well formatted, and properly documented.
35+ However, licensing is not under control according to SPDX requirements.
36+ ** $2048** was the reward.
37+ {: .winner}
38+
39+ ![ excellent] ( images/2025/pytorch_optimizer.svg )
40+ The [ kozistr/pytorch_optimizer] ( https://github.com/kozistr/pytorch_optimizer ) project (319★),
41+ an optimizer for PyTorch written in Python,
42+ showed us an ** excellent** codebase:
43+ well formatted and documented code,
44+ CI,
45+ automated testing,
46+ coverage control.
47+ However,
48+ style checking is not part of CI,
49+ build pipeline is rather weak,
50+ there is a lack of clarity in package management,
51+ and no license control of source files.
52+ ** $1024** was the reward.
53+ {: .winner}
54+
55+ ![ awesome] ( images/2025/novops.svg )
56+ The [ PierreBeucher/novops] ( https://github.com/PierreBeucher/novops ) project (418★),
57+ a universal secret and configuration manager written in Rust,
58+ showed us ** awesome** coding practices:
59+ issue triaging and community support,
60+ continuous deployment,
61+ automated testing.
62+ However,
63+ they don't have a style checker in the CI pipeline,
64+ module placement is a bit chaotic,
65+ PRs don't go through the full build pipeline,
66+ branching is a bit messy,
67+ and no badges in the README.
68+ ** $512** was the reward.
69+ {: .winner}
9370
9471## Steering Committee
9572
96- These people help us decide who deserves the rewards:
97-
9873![ iakunin] ( https://github.com/iakunin.png )
9974[ @iakunin ] ( https://github.com/iakunin )
10075{: .jury}
@@ -109,11 +84,6 @@ These people help us decide who deserves the rewards:
10984
11085## Jury
11186
112- Each member of the jury reviews up to four projects. In
113- each review we expect to see "good", "average", or "bad" mark in front
114- of every quality dimension listed above.
115- The sum of all marks constitutes the final mark of a project.
116-
11787![ h1alexbel] ( https://github.com/h1alexbel.png )
11888[ @h1alexbel ] ( https://github.com/h1alexbel )
11989{: .jury}
@@ -154,22 +124,6 @@ The sum of all marks constitutes the final mark of a project.
154124[ @maxonfjvipon ] ( https://github.com/maxonfjvipon )
155125{: .jury}
156126
157- ## Important Dates # {#dates}
158-
159- Project submission:\
160- ~~ 31 May~~ 9 June 2025 ([ Anywhere on Earth] [ AoE ] )
161-
162- Authors notification:\
163- ~~ 1~~ ~~ 10 July 2025~~ 30 July 2025
164-
165- ## How to Submit # {#submit}
166-
167- Submission is closed. See you [ next year] ( /2026.html ) .
168-
169- You may submit more than one repository, but only one of them may win.
170- We may reject some repositories without review, if they are coming from the
171- same owner.
172-
173127## Participants
174128
175129We received ** 112 applications** (excluding duplicates and broken submissions).
@@ -279,7 +233,7 @@ The software we created for filtering repositories works as follows.
279233 * [ for repository action workflows] ( https://docs.github.com/en/rest/actions/workflows?apiVersion=2022-11-28#list-repository-workflows )
280234 where it checks if amount of action workflows >= 1
281235
282- 2 . Then it manually clone every repository using ` git clone ` and checks if:
236+ 2 . Then it manually clones every repository using ` git clone ` and checks if:
283237 * amount of directories >= 10
284238 * amount of files >= 50
285239 * amount of files with more than 1k lines < 10
@@ -301,7 +255,7 @@ The software we created for filtering repositories works as follows.
3012553 . Then it excludes all the repositories that are not matching the criteria
302256
303257The second group consisted of XXX that were manually reviewed
304- by one of jury members and were classified as "not enough quality" to
258+ by one of the jury members and were classified as "not enough quality" to
305259compete for the trophy:
306260{: .count-them}
307261
@@ -351,23 +305,18 @@ candidates for the prize:
351305* [ TrianguloY/URLCheck] ( https://github.com/TrianguloY/URLCheck )
352306
353307Then, we asked our jury to review all projects manually. Every project
354- was reviewed by two jury members.
355- The results of reviewing will be published soon.
356- If you think that your project was disqualified by mistake or undeservedly underestimated - email us, we'll review it once again with special attention.
308+ was reviewed by two jury members. The details are here:
309+ [ kaicode-2025.xlsx] ( /xlsx/kaicode-2025.xlsx )
357310
358311## Sponsors
359312
360313![ yegor256] ( https://github.com/yegor256.png )
361314[ @yegor256 ] ( https://github.com/yegor256 )
362315{: .jury}
363316
364- We are still forming the board of sponsors.
365- If you are interested in joining, please
[ email us
] ( mailto:[email protected] ) .
366- {: .firebrick}
367-
368317## Organizers
369318
370- These people organize KaiCode (in alphabetic order):
319+ These people organized KaiCode (in alphabetic order):
371320
372321![ maxonfjvipon] ( https://github.com/maxonfjvipon.png )
373322[ @maxonfjvipon ] ( https://github.com/maxonfjvipon )
@@ -377,8 +326,6 @@ These people organize KaiCode (in alphabetic order):
377326[ @volodya-lombrozo ] ( https://github.com/volodya-lombrozo )
378327{: .jury}
379328
380- If you are ready to help, please
[ email
] ( mailto:[email protected] ) .
381-
382329[ form ] : https://docs.google.com/forms/d/1nUlL2xvL1OOy3LoVF-g7MfB-9yeG68XB2wXW4MAoWrY
383330[ AoE ] : https://en.wikipedia.org/wiki/Anywhere_on_Earth
384331[ readme ] : https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes
0 commit comments