DOC bug-lar.(Open Source proyektdə iştirak 1-ci hissə)

Hörmətli dostlar, əziz marağı olanlar.

Daha əvvəlki yazımı oxumağınız tövsiyyə olunur: Tələbələrin vəziyyəti, təcrübə axtarışı və Open Source haqqında manifest

Bu yazıda, hər hansı Open Source proyektdə sadə surətdə iştirakdan, ümumən isə iştirakın növlərindən danışacıq. Yazını bir neçə hissəyə bölmüşəm. İlk hissə dokumentasiya bug-larına həsr olunur.
Nümunə proyektimiz isə tam ciddi, dünya məhşuru MySQL və onun ətrafındakı texnalogiyalardır.

Gəlin başlayaq ümumi anlayışlardan. Open Source proyekt dedikdə, onun qaynaq kodlarının açıq olması gərəklidir, lakin onun pulsuz olması vacib deyil. Yəni pullu Open Source proyekt ola bilər. Buna əyani misal kimi, Oracle-ın buraxdığı MySQL-i göstərə bilərik. Oracle MySQL-i 2 adla buraxır:
* MySQL Community Edition – Havayı
* MySQL Enterprise Edition – Pullu

Sual oluna bilər ki, Enterprise ilə Community versiyaları arasında nə kimi fərq var?
Deyə bilərəm ki, Enterprise edition, Community + əlavə bir ton köməkçi tool-lar və heç yerdə public edilməyən xüsusi mexanizmlər.

Dolayısı ilə, bizə maraqlı olan MySQL Community edition-dur. Gəlirik yeni bir anlayışa.
Məhsulun özü Open Source və havayıdırsa, o zaman onun Bug bazası da açıq olmalıdır.
Çox vaxt mən MySQL-də BUG reportlar verəndə deyirlər ki, nə qədər bug-ı var. Bəli bug-sız heçnə yoxdur. Hətta fəlsəfi cəhətdən yanaşsaq həyat özü bug-dır. İnsanlar davam edirlər öz iddialarına ki, Oracle DB-də belə deyil.
Xeyr Oracle DB-də bəlkə min dəfə daha çox bug report var, lakin bu pullu məhsul olduğu üçün biz onun bug report-larını görə bilmirik. Yəni, Oracle DB-nin həm qaynaq code-u, həm də bug bazası bağlıdır təbii olaraq.

Digər bir dəhşətli sual, yaxşı bu onsuz da havayıdır, bir də bug fix-lər havayı verilir. Bəs gəliri nədəndir?
Cavabı çox sadədir. MySQL (MariaDB, Percona Server) bizdən istifadə haqqı almır, yəni lisenziya pulu tələb etmir(Oracle isə hətta serverin core sayına uyğun ayrıca məbləğ hesablayır. Qeyd edim ki, Oracle-ın təklif etdiyi MySQL Enterprise da core başına əlavə pul istəyir. Şirkət strategiyası belədir). Həmçinin, security bug fix-lərini dərhal release edir, Critical bug fix-ləri qabağa salır və release edir və s. Bunların hamısı havayı baş verir. Bu tip proyektlərin gəlir mənbəyi, Support və Konsultasiyadandır. Qısa olaraq desək, al bu məhsulu istifadə elə, havayıdı, lakin kömək lazım olsa, pulumu ver kömək edim. Məncə kifayət qədər ədalətli yanaşmadır.

Yaxşı, axı bu böyük proyektdir və mən MySQL-in əjdahası olmalıyam?! Burda necə iştirak edə bilərəm?
İlk öncə hər şeyi BUG kimi görmək lazımdır. Gəlin konkret nümunələr üzərində baxaq.
Başlayaq aşağıdakı report-dan:
87545
Connector/Python dokumentasiyasını oxuyanda gördüm ki, APİ reference-də Error modulu haqqında heç bir məlumat yoxdur(indi var çünki fix olunub bug). Sizə sadə hadisə kimi gəlir? Mənə isə ciddi DOC(dokumentasiya) bug-i kimi gəlmişdi və bu səbəbdən verified olunmuşdu.
Deməli, Open Source proyektin dokumentasiyasında səhv tapdınızsa, yan keçməyin, ərinməyin, report edin, proyekt sahibləri buna çox ciddi əhəmiyyət verirlər.

Digər bir misal:
81036

Yenə də dokumentasiyanı oxuyanda gördüm:

“Installing MySQL Shell on Yum-based Systems”:

> Install MySQL Shell with this command:

sudo apt-get install mysql-shell

Başa düşmədim, yum based sistemlərdə haçandan apt istifadə edirlər? Deməli bug-dır. Xalis DOC bug.

Davam edirik yoldaşlar:
80801

Burda isə dokumentasiyada verilmiş SQL sorğu səhvdir:

SELECT TABLE_SCHEMA, TABLE_NAME, CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES
-> WHERE CREATE_OPTIONS like 'ENCRYPTION="Y"';

Yuxarıdakının əvəzinə belə olmalı idi:

SELECT TABLE_SCHEMA, TABLE_NAME, CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES
-> WHERE CREATE_OPTIONS like '%ENCRYPTION="Y"%';

Adamlar dərhal reaksiya verib, 24 saat ərzində dəyişdilər bu səhvi.

Digər bir DOC bug:
87472
Dokumentasiyada verilib ki, development release versiyası 2.2-dir, lakin yükləmə səhifəsində deyir ki, development release 8.0.4-dür. Dolayısı ilə DOC-da versiya səhv yazılıb.

Daha bir DOC bug:
87492
Burda isə çox sadə surətdə python setup.py scriptinə install opsiyasını ötürmək yaddan çıxıb.

Təbii ki, bir sıra digər daha ciddi səhvləri də tapmaq olar. Məsələn aşağıdakılar kimi:

77829
80350

Yekunda isə, demək lazımdır ki, Open Source proyekt-də iştirak üçün olduqca az əziyyət tələb edən ilk addım, onun dokumentasiyasını oxumaq, səhvlikləri tapmaq və dərhal da report etmək ola bilər.
Yəni zəif yox elə əsl bug-dı bunlar. Hətta bu məqalədə səhv tapdınızsa, dərhal report edin. Təbii ki, komment yazaraq 🙂

Səs: +10. Bəyənilsin Zəifdir

Müəllif: Şəhriyar Rzayev

Şərhlər ( DOC bug-lar.(Open Source proyektdə iştirak 1-ci hissə) )

  1. Təşəkkürlər, gözəl insan. 🙂

Şərh yazın