6 oppituntia avoimen lähdekoodin projektien kehittämisestä

Data Scientistin näkökulma

Avoin lähdekoodi on niin upea käsite! Yhdistämällä koko yhteisön lähteet, taidot ja tiedot voidaan luoda työkaluja, joita emme olisi voineet tehdä yksin. Näistä yhteistyöstä syntyvät työkalut ovat todella enemmän kuin osiensa summa.

Tämän seurauksena me datatieteilijät käytämme tätä vapaasti saatavilla olevaa ohjelmistoa, joka ohjaa niin monia teknologioita, mutta silti meillä on mahdollisuus olla mukana sen kehittämisessä.

Muutaman viime vuoden aikana minulla on ollut onni olla mukana avoimen lähdekoodin parissa ja minulla on ollut mahdollisuus kehittää ja ylläpitää useita paketteja!

Avoimen lähdekoodin kehittäminen on enemmän kuin pelkkää koodausta

Tänä aikana oli paljon esteitä voitettavana ja opittavaa. Hankalista riippuvuuksista ja API-suunnitteluvalinnoista aina kommunikointiin käyttäjäkunnan kanssa.

Avoimen lähdekoodin parissa työskenteleminen, olitpa sitten kirjoittaja, ylläpitäjä tai kehittäjä, voi olla melko pelottavaa! Tämän artikkelin avulla jaan joitain kokemuksiani tällä alalla, mikä toivottavasti auttaa niitä, jotka haluavat kehittää avoimen lähdekoodin.

Kun luot avoimen lähdekoodin ohjelmistoja, et yleensä tee pakettia yksinomaan itsellesi. Käyttäjät, eri taustoista, käyttävät ohjelmistoasi. Asianmukainen dokumentaatio auttaa näitä käyttäjiä pääsemään alkuun.

Älä kuitenkaan aliarvioi dokumentoinnin vaikutusta pakettisi käytettävyyteen! Voit käyttää sitä selittämään monimutkaisia ​​algoritmeja, antamaan laajoja opetusohjelmia, näyttämään käyttötapauksia ja jopa mahdollistamaan interaktiivisia esimerkkejä.

Varsinkin datatieteeseen liittyvien ohjelmistojen ymmärtäminen voi olla vaikeaa, kun se sisältää monimutkaisia ​​algoritmeja. Näiden selitysten lähestyminen tarinan tavoin on usein auttanut minua tekemään niistä intuitiivisempia.

Luota minuun, hyvän dokumentaation kirjoittaminen on taito sinänsä.

Toinen etu on, että vankan dokumentaation kirjoittaminen vähentää ongelmiin käytettyä aikaa. Käyttäjillä on vähemmän syytä esittää kysymyksiä, jos he löytävät vastaukset asiakirjoistasi.

Yleiskatsaus miten KeyBERT teokset löytyvät dokumentaatiosta.

Dokumentaation luominen on kuitenkin muutakin kuin sen kirjoittamista. Algoritmin tai ohjelmiston visualisointi auttaa tekemään siitä intuitiivisen. Siitä voi oppia aika paljon Jay Alammar kun haluat visualisoida algoritmiset periaatteet dokumentaatiossasi. Hänen visualisoinnit päätyivät jopa virallisiin Nöpö dokumentointi!

Käyttäjäkuntasi, yhteisö, on tärkeä osa ohjelmistoasi. Koska kehitämme avoimen lähdekoodin, on turvallista sanoa, että haluamme heidän olevan mukana kehityksessä.

Toimimalla yhteisön kanssa houkuttelet heidät jakamaan ongelmia ja virheitä, mutta esität myös pyyntöjä ja loistavia ideoita jatkokehitystä varten! Kaikki nämä auttavat luomaan heille jotain.

Avoimen lähdekoodin yhteisö on todella enemmän kuin osiensa summa

Monet BERTopicin ydinominaisuudet, kuten online-aihemallinnus, on otettu käyttöön, koska sen käyttäjät olivat niitä erittäin pyytäneet. Tämän seurauksena yhteisö on melko aktiivinen ja on ollut valtava apu ongelmien havaitsemisessa ja uusien ominaisuuksien kehittämisessä.

Yhteisön ominaisuuspyyntöjen toteuttaminen on pitkälle! Ote keskustelusta tätä.

Käytetäänpä pakettiasi miljoonia kertoja tai vain muutaman kerran, sellaisen luominen on erinomainen tilaisuus oppia lisää avoimesta lähdekoodista, MLOpsista, yksikkötestauksesta, API-suunnittelusta jne. Olen oppinut lisää näistä taidoista avoimen lähdekoodin kehittämisessä. kuin mitä minulla olisi jokapäiväisessä työssäni.

Vuorovaikutuksessa itse yhteisön kanssa on myös valtava oppimismahdollisuus. He kertovat sinulle, mistä malleista he pitävät tai eivät. Joskus olen nähnyt saman ongelman ilmaantuvan useita kertoja muutaman kuukauden aikana. Tämä osoittaa, että minun pitäisi harkita suunnittelua uudelleen, koska se ei ollut niin käyttäjäystävällinen kuin olin odottanut!

Kaiken lisäksi avoimen lähdekoodin projektien kehittäminen on antanut minulle mahdollisuuden tehdä yhteistyötä muiden kehittäjien kanssa.

Omien avoimen lähdekoodin projektien parissa työskentely työn ulkopuolella sisältää haittoja. Minulle merkittävintä on se, että paketin ylläpito, kysymyksiin vastaaminen ja keskusteluihin osallistuminen voi olla melko paljon työtä.

Se auttaa ehdottomasti, jos olet sisäisesti motivoitunut, mutta kestää silti jonkin aikaa varmistaaksesi, että kaikki pysyy koossa.

Onneksi voit katsoa yhteisöösi auttamaan sinua, kun vastaat kysymyksiin, esittelet käyttötapauksia jne.

Muutaman viime vuoden aikana olen oppinut olemaan hieman rennompi muutosten katkaisemisessa. Varsinkin kun on kyse riippuvuuksista, joskus on niin paljon tehtävissä!

Tieto siitä, kuinka usein pakettiasi käytetään, auttaa suuresti ymmärtämään, kuinka suosittu se on. Monet käyttävät kuitenkin edelleen Github-tähtiä rinnastaakseen paketin laatuun ja suosioon.

Varmista, että määrität oikean mittarin. GitHub-tähdet voidaan liioitella yksinkertaisesti oikean markkinoinnin vuoksi. Monet tähdet eivät tarkoita suosiota.

Tietojen tutkijoina meidän on ensin ymmärrettävä, mitä tarkalleen mittaamme. GitHub-tähdet eivät ole muuta kuin käyttäjä, joka antaa tähden paketille. Se ei edes tarkoita, että he ovat käyttäneet ohjelmistoa tai että se todella toimii!

KeyBERTin latausten määrä. Paljon parempi indikaattori kuin Github-tähdet.

Teknisesti voin maksaa tuhannelle ihmiselle repojeni tähden. Sen sijaan keskityn erilaisiin tilastoihin, kuten latauksiin ja haaroituksiin, mutta myös päivittäisten ongelmien määrään.

On esimerkiksi hienoa, jos pakettisi ovat esillä Hacker News mutta se ei kerro, käytetäänkö sitä johdonmukaisesti.

Psykologina keskityn paljon pakkausten suunnitteluun. Tämä sisältää esimerkiksi dokumentteja ja opetusohjelmia, mutta se tarkoittaa jopa sitä, miten koodaan.

Varmistamalla, että paketti on helppo käyttää ja asentaa, käyttöönotto on paljon yksinkertaisempaa. Varsinkin kun keskityt suunnittelufilosofioihin, kuten modulaarisuuteen ja läpinäkyvyyteen, joistakin paketeista tulee räjähdysmäinen käyttö.

Aihemallinnuksen modulaarinen suunnittelu BERTaihe.

Psykologin näkökulmasta ottaminen uusien ominaisuuksien kehittämisen aikana on tehnyt paljon helpommaksi tietää, mihin keskittyä. Mitä käyttäjät etsivät? Kuinka voin koodata tavalla, joka selittää algoritmin? Miksi käyttäjät todella käyttävät tätä pakettia? Mitkä ovat koodini suurimmat haitat?

Keskivertokäyttäjän ymmärtäminen ajaa adoptiota

Kaikki yllä oleva johtaa usein perussääntöön, mutta tärkeään sääntöön;
Pidä se erittäin yksinkertaisena

Henkilökohtaisesti, jos uutta pakettia on vaikea asentaa ja käyttää, otan sen käyttöön työnkulussani.

Jos olet, kuten minä, intohimoinen tekoäly, datatiede tai psykologia, voit lisätä minut LinkedIn tai seuraa minua Twitter. Löydät myös osan sisällöstäni sivuiltani Henkilökohtainen verkkosivusto.

Kaikki kuvat ilman lähdekoodia ovat kirjoittajan luomia

6 oppituntia, jotka opin kehittämällä avoimen lähdekoodin projekteja, julkaistu uudelleen lähteestä https://towardsdatascience.com/6-lessons-i-learned-from-developing-open-source-projects-4617e26f247c?source=rss—-7f60cf5620c9—4 kautta https://towardsdatascience.com/feed

<!-

->

Aikaleima:

Lisää aiheesta Blockchain-konsultit