Cum să-ți faci proiectul dvs „Sursă Deschisă”?

Lucruri de luat în considerare atunci când creați Sursa Deschisa (Open Source)

  • Asigurați-vă că resursele dumneavoastră au capacitatea de a menține codul.
  • Asigurați-vă că aveți un proces de răspuns la feedback-ul din partea comunității open source.
  • Decideți unde vă veți găzdui codul.

Principiile de bază pentru Open Source Initiative prezentate AICI.

Link-uri utile:

Dacă nu aveți de gând să deschideți proiectul dvs., principiile prezentate în acest ghid pot fi aplicate în continuare atunci când dezvoltați codul, pentru a asigura o bună practică. Aceasta este cunoscută ca sursă interioară. Aflați mai multe despre sursa interioară în acest articol GitHub.

1) Alegeți o licență „Sursă Deschisă

O licență open source este un tip de licență software care permite utilizarea, studierea, modificarea și partajarea codului sursă conform termenilor și condițiilor definite.

Există o varietate de licențe open source, fiecare cu termeni și condiții diferiți în legătură cu utilizarea, modificarea și partajarea codului sursă.

Majoritatea, dacă nu toate, licențele open source vor cere oricui care utilizează lucrarea open source să recunoască proprietarul drepturilor de autor. Trebuie să specificați cine este proprietarul drepturilor de autor într-o notificare privind drepturile de autor atașată lucrării dvs.

Următoarea selecție este un exemplu de licențe open source populare cu comunități durabile:

  • Apache License 2.0
  • MIT license
  • BSD 3-Clause „New” or „Revised” license
  • BSD 2-Clause „Simplified” or „FreeBSD” license
  • GNU General Public License (GPL)
  • GNU Library or „Lesser” General Public License (LGPL)
  • Mozilla Public License 2.0
  • Common Development and Distribution License
  • Eclipse Public License version 2.0
  • Creative Commons v4.0

Mai multe informații despre tipurile de licențe sunt disponibile pe pagina web.

Când alegeți o licență open source, este important să luați în considerare toate pachetele open source pe care le-ați folosit de la alți creatori. Unele licențe necesită să utilizați aceeași licență atunci când lansați pachete care conțin lucrări de la alți creatori. De exemplu, dacă pachetul dvs. include cod care a fost licențiat sub o licență publică generală GNU, trebuie să-l eliberați sub o licență publică generală GNU.

Poate doriți să solicitați consiliere juridică pentru a determina dacă licența pe care ați selectat-o oferă protecția de care aveți nevoie pentru munca dvs. și respectă licențele oricărei lucrări pe care ați utilizat-o.

2) Pregătiți codul pentru lansare

  1. Introduceți codul în controlul versiunilor.
  2. Dacă proiectul dvs. este deja în controlul versiunilor, luați în considerare crearea unei noi versiuni pentru lansare publică.
  3. Angajați-vă devreme și des. Acesta este un model de flux de lucru important de utilizat în timpul dezvoltării unui proiect. Promovează deschiderea, transparența și oferă o oportunitate pentru feedback și revizuire periodică.
  4. Curățați-vă codul de orice informație proprietară.
    Înainte de a face depozitul disponibil public, asigurați-vă că codul este revizuit de către colegi și auditat pentru orice informație proprietară. Este esențial să ne asigurăm că tokenurile personale de acces și alte date private nu sunt făcute publice din neatenție.Lucrurile de luat în considerare atunci când examinați codul includ:

    • Contribuțiile sunt atribuibile contului de utilizator configurat de controlul versiunii. Luați în considerare identitatea contului care face comite, deoarece acestea sunt vizibile pentru oricine are acces la depozit.
    • Eliminați toate parolele, cheile API, cheile secrete și acreditările din sursă (și istoricul depozitului).
    • Eliminați orice adrese URL interne care nu ar trebui să fie descoperite de lumea exterioară. Acestea ar trebui să fie în fișierele de proprietăți și nu ar trebui să fie verificate în depozitul de cod sursă.
    • Codul trebuie scanat folosind instrumente de audit automate (de exemplu, NodeJS oferă audit npm). Acestea găsesc vulnerabilități de securitate în pachetele dvs. și le actualizează și le repară acolo unde poate.
    • Ar trebui utilizate cele mai recente versiuni ale bibliotecilor dependente. Acolo unde este posibil, includeți actualizări automate în conducta dvs. de integrare continuă.
    • Orice aplicație terță parte care este încorporată în cod (Google Analytics sau similar) trebuie declarată. Aceasta include toate conturile care sunt necesare pentru a utiliza tehnologia.
    • Essential 8 și OWASP Top 10 ar trebui consultate pentru a se asigura că securitatea corespunzătoare este actualizată.
    • De asemenea, poate doriți să verificați că dependențele dvs. sunt actualizate și nu aveți alte vulnerabilități pe care le veți transmite altora.
  5. Asigurați-vă că proiectul dvs. conține un fișier readme cu următoarele informații:
    • fundalul și scopul proiectului
    • cum să începeți (cu exemple)
    • orice probleme sau erori cunoscute
    • licență
    • atribuire
    • informații de contact
    • ghiduri de contribuție

    Furnizarea fișierului Readme asigură că oamenii pot reutiliza și pot contribui la proiect. Aceste fișiere ajută oamenii să înțeleagă proiectul și să reducă barierele în calea adoptării.

3) Elaborați un plan de întreținere, îmbunătățire continuă și suport

Este o idee bună să ai un plan care să prezinte modul în care vei evolua și vei continua să contribui la proiectul tău open source. Aceasta ar trebui să includă:

  • intretinere (patching)
  • imbunatatire continua
  • a sustine

Sunt de preferat actualizările mici, incrementale, ale proiectului dvs. Acest lucru aduce beneficii evaluărilor inter pares, menținând domeniul de aplicare într-un context mai restrâns și făcându-le mai ușor de realizat. De asemenea, poate îmbunătăți „pulsul” proiectului. Cantitatea de activitate pe un proiect îmbunătățește încrederea utilizatorilor în comunitatea sa și întreținerea acestuia.

Dacă nu puteți continua întreținerea, puteți încerca să găsiți un întreținător alternativ din comunitate. Dacă nu poate fi găsit un întreținător adecvat și proiectul trebuie abandonat, o notificare în readme-ul proiectului ar trebui să menționeze acest lucru.

4) Lansează-ți proiectul

După ce ați urmat pașii de mai sus, puteți face proiectul disponibil pe platforma dorită.

De asemenea, puteți lua în considerare ambalarea codului dvs. ca un artefact de dependență, ceea ce face mai simplu pentru alții să îl includă în proiectele lor. Procesul de publicare a listei de dependențe diferă între limbaje de programare și aplicații. Următorii manageri de dependențe și pachete sunt populari și disponibili gratuit:

  • Node.JS -> NPM
  • Java -> Maven Central
  • .Net -> NuGet
  • Python -> PIP
  • PHP -> Composer
  • Perl -> PPM
  • Ruby -> Gems

Folosind aceste instrumente ca metodă de distribuție, codul dvs. este mult mai ușor de implementat și întreținut, precum și de furnizarea de versiuni semantice pentru gestionarea pachetelor și capabilități suplimentare de documentare.

Dacă doriți să vă publicați codul în contul opencode.md, contactați opencode.md@gmail.com pentru a vă exprima interesul.