2024-10-07
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
koneen sydän -kokoelma
kirjailija: omar khattab
toimittaja: egg sauce, zenan
paperin kirjoittaminen? se on vain yksi pieni askel.
tutkijakoulun aikana monet ihmiset ovat usein hämmentyneitä oman tutkimuksensa jäsentämisestä. miten meidän pitäisi tehdä tutkimusta, jotta voimme muuttaa tekoälyn jo ennestään tungosta?
liian monet ihmiset uskovat, että pitkän aikavälin projektit, asianmukaiset koodinjulkaisut ja hyvin harkitut vertailuarvot eivät ole tarpeeksi motivoivia - joskus se voi olla jotain, jonka teet nopeasti ja syyllisesti ja palaat sitten tekemään "oikeaa" tutkimusta.
äskettäin stanfordin yliopiston nlp-ryhmän tohtoriopiskelija omar khattab julkaisi blogikirjoituksen, jossa keskusteltiin parhaiden tekoälytutkijoiden ajatuksista vaikuttavan tutkimuksen tekemisestä.
katsotaan mitä hän sanoi:
tutkimusvaikutuksella on monia muotoja, ja keskityn vain mittaamaan tekoälyn tutkimusvaikutuksia avoimen lähdekoodin työn avulla (esim. mallit, järjestelmät, viitekehykset tai vertailuarvot). koska osa tavoitteestani on hioa ideoitani, kirjata konkreettisia ehdotuksia ja kerätä palautetta, teen lausunnosta ytimekkäämmän. jos sinulla on muita ideoita, keskustele niistä kommenttikentässä.
ensinnäkin tässä ovat ohjaavat periaatteet:
keskity projekteihin, älä papereihin.
voit "kaivaa kuopan" valitsemalla sopivan ongelman, jolla on enemmän kehittämisen varaa.
ajattele kaksi askelta eteenpäin ja toista nopeasti.
julkaise työsi ja mainosta ideoitasi.
löydä tapoja motivoida itseäsi: tässä on vinkkejä avoimen lähdekoodin tutkimuksen kasvattamiseen.
jatka investoimista projektiisi uusilla papereilla.
viides kohta, "vinkkejä avoimen lähdekoodin tutkimuksen kehittämiseen", ansaitsee pidemmän artikkelinsa. voin kirjoittaa siitä seuraavassa postauksessani.
keskity projekteihin
paperin sijaan
tämä on ratkaiseva ajattelun osa, johon kaikki muu perustuu.
aloittelevat opiskelijat kiinnittävät suurta huomiota muutaman ensimmäisen artikkelinsa julkaisemiseen. tämä on järkevää: näin opit tekemään tutkimusta, tutkimaan alkusuuntia ja osoittamaan varhaista edistymistä. mutta tämä on vaihe, josta sinun on lopulta poistuttava: pitkällä aikavälillä saavutuksesi ja kasvusi riippuvat vähemmän kirjoitusten määrästä, vaan enemmän vaikutuksestasi ja välittämästäsi yleisestä tutkimuskontekstista.
valitettavasti liian monet tohtoriopiskelijat pitävät mahdollisesti vaikuttavinta käyttäytymistä "motivoimattomana". tämä hämmensi minua, kunnes tajusin, mitä ne tarkoittivat, että nämä toimet saattavat hidastaa kykyäsi julkaista seuraava paperisi. mutta kykysi julkaista seuraava julkaisusi niin nopeasti on vähemmän tärkeä.
ehdotan, että et ajattele työsi sarjana yksittäisiä papereita, vaan kysy itseltäsi: mitä suurempia visioita aiot johtaa, ja mitkä ovat niiden osa-alueet tai paradigmat? mitä eroa haluat tehdä työlläsi? joten julkaiset yksittäisiä artikkeleita tutkiaksesi ja luodaksesi vertailuarvoja, kun taas laajemman vision pitäisi olla jotain, jota harkitset tarkoituksella. sen on oltava paljon suurempi kuin paperi kantaa, ja se on varmasti ongelma, jota ei ole vielä täysin ratkaistu.
yksi tapa tehdä tämä on jäsentää tutkimuspapereita yhtenäisten artefaktien (kuten mallien, järjestelmien, kehysten tai vertailuarvojen) ympärille, joita ylläpidät avoimen lähdekoodin toimialueella. tämä strategia on kalliimpi kuin "suorita joitain kokeita ja vapauttaa ohikiitävä nopea arkisto", mutta se pakottaa sinut löytämään ongelman, jolla on todellisia vaikutuksia, ja auttaa varmistamaan, että tekemäsi uusi tutkimus on todella johdonmukaista ja hyödyllistä: et ponnistele. ottamaan käyttöön pienen ominaisuuden tai tempun, joka on hyödytön kehittämillesi ja ylläpitämillesi esineille.
valitse sopivat kysymykset, joissa on enemmän parantamisen varaa
voi "kaivaa kuopan"
jokaiseen kirjoittamaasi paperiin ei kannata sijoittaa loputtomiin. monet paperit ovat kertaluonteisia tutkivia papereita. käytä seuraavia kriteerejä löytääksesi ohjeita, joista voi tulla suurempia projekteja.
ensinnäkin ongelman on oltava huippuluokan. voit määritellä sen monella tapaa, mutta sisäänaitehokas strategia alalla on löytää ongelmatila, joka on "kuuma" 2-3 vuoden kuluttua, mutta joka ei ole vielä tullut valtavirtaan.
toiseksi ongelmalla on oltava suuri potentiaali kaivamaan reikiä, eli se voi vaikuttaa moniin loppupään ongelmiin. periaatteessa näiden kysymysten tulokset saattavat hyödyttää tai kiinnostaa tarpeeksi ihmisiä. tutkijat ja ihmiset välittävät siitä, mikä auttaa heitä saavuttamaan tavoitteensa, joten kysymyksesi voi olla esimerkiksi muiden auttaminen rakentamaan asioita tai saavuttamaan tutkimus- tai tuotantotavoitteita. voit käyttää tätä suodatinta tutkimaan teoreettisia perusteita, järjestelmäinfrastruktuuria, uusia vertailuarvoja, uusia malleja ja monia muita asioita.
kolmanneksi ongelmalle on jätettävä suurempi marginaali. jos kerrot ihmisille, että heidän järjestelmänsä voi olla 1,5 kertaa nopeampi tai 5 % tehokkaampi, se ei todennäköisesti ole mielenkiintoista. minusta näyttää siltä, että sinun on löydettävä ongelmia, joissa sinulla on ainakin vuosien kovan työn jälkeen ei-nolla toivoa tehdä jotain nopeampaa, vaikkapa 20x nopeampaa tai 30% tehokkaampaa. sinun ei tietenkään tarvitse mennä sinne asti menestyäksesi, eikä sinun pitäisi odottaa, kunnes olet valmis julkaisemaan ensimmäisen artikkelisi tai julkaisemaan ensimmäisen teoksesi.
en halua olla liian abstrakti, käytetään colbertiä kuvaamaan. vuoden 2019 lopussa tutkimus bertin hakemisesta oli erittäin suosittu, mutta nämä menetelmät ovat erittäin kalliita. luonnollisesti kysytään, voimmeko parantaa merkittävästi tämän lähestymistavan tehokkuutta? mikä tekee tästä hyvän kysymyksen?
ensinnäkin se on hyvin johdateltu. voimme oikein ennustaa, että vuoteen 2021 mennessä (1,5 vuotta myöhemmin) monet tutkijat etsivät tehokkaita bert-pohjaisia hakuarkkitehtuureja. toiseksi sillä on paljon kehittämisen varaa. uudet ml-paradigmat ovat yleensä tällaisia, koska useimmat tällaiset pyrkimykset jättävät aluksi huomioimatta tehokkuuden. itse asiassa alkuperäinen lähestymistapa saattaa kestää 30 sekuntia vastatakseen kyselyyn, mutta nyt se pystyy suorittamaan korkealaatuisemmat haut 30 millisekunnissa, mikä on 1 000 kertaa nopeampi. kolmanneksi sillä on suuri fanout. skaalautuva haku on hyvä "perustan" ongelma: jokaisen täytyy rakentaa jotain noutajien päälle, mutta harvat haluavat rakentaa niitä.
ajattele kaksi askelta eteenpäin
ja iteroi nopeasti
nyt kun sinulla on hyvä ongelma, älä kiirehdi valitsemaan edessäsi olevaa matalalla roikkuvaa hedelmää lähestymistapaasi! jossain vaiheessa ainakin monet ihmiset harkitsevat lopulta "ilmeistä" lähestymistapaa.
ajattele sen sijaan vähintään kaksi askelta eteenpäin. tunnista polku, jota useimmat ihmiset todennäköisesti kulkevat, kun tämä ajankohtainen ongelma vihdoin tulee yleiseksi. tunnista sitten itse polun rajoitukset ja pyri ymmärtämään ja korjaamaan nämä rajoitukset.
miltä tämä näyttää käytännössä? tarkastellaanpa colbertin tapausta. ilmeinen tapa rakentaa tehokas noutaja bert:n avulla on koodata asiakirjat vektoreiksi. mielenkiintoista on, että vuoden 2019 loppuun mennessä vain rajoitetulla ir-työllä saavutettiin tämä. esimerkiksi tämän kategorian siteeratuin teos (dpr) julkaisi ensimmäisen esipainonsa vasta huhtikuussa 2020.
tämän perusteella saatat ajatella, että vuonna 2019 on oikein rakentaa loistava yksivektorinen ir-malli bert:n kautta. sitä vastoin vain kaksi askelta eteenpäin ajattelu herättää kysymyksen: ennemmin tai myöhemmin jokainen rakentaa yhden vektorin lähestymistavan, joten mihin tämä yksivektorinen lähestymistapa pohjimmiltaan juuttuu? itse asiassa tämä ongelma johti myöhemmin vuorovaikutusparadigmoihin ja laajalti käytettyihin malleihin.
toisena esimerkkinä voimme käyttää dspy:tä. helmikuussa 2022 vihjeiden voimistuessa kävi selväksi, että ihmiset halusivat käyttää vihjeitä hakuun perustuvaan laadunvarmistukseen, eikä hienosäätöön kuten ennen. tätä varten meidän on luonnollisesti luotava menetelmä. kun mennään kaksi askelta pidemmälle, kysymme: mihin tällainen lähestymistapa juuttuu? viime kädessä "haku ja luo" (tai rag) -lähestymistapa on luultavasti yksinkertaisin lähestymistapa, johon liittyy lm.
samoista syistä ihmiset ovat kiinnostuneita siitä, he ovat ilmeisesti yhä kiinnostuneempia: (i) monimutkaisempien moduuliyhdistelmien ilmaisemisesta (ii) sen selvittämisestä, mitä pitäisi tehdä taustalla olevan lm:n automaattisen kehotteen tai hienosäädön avulla; valvoa tai optimoida tuloksena olevaa monimutkaista putkistoa. tämä on dspy.
tämän säännön toinen puolisko on "iteroi nopeasti". tämä oli ehkä ensimmäinen neuvonantajani matei zaharia (sloan-palkinnon voittaja ja apache sparkin perustaja) antamani minulle tohtorintutkintoni ensimmäisellä viikolla: määrittämällä aiheen, jossa voit iteroida nopeasti ja saada palautetta (kuten viive tai vahvista pisteet) ongelman versio, joka voi parantaa huomattavasti mahdollisuuksiasi ratkaista pulma. tämä on erityisen tärkeää, jos ajattelet kaksi askelta eteenpäin, mikä on tarpeeksi vaikeaa ja epävarmaa.
tee työstäsi julkista
anna ideasi upota
tässä vaiheessa olet löytänyt hyvän ongelman ja jatkanut iterointia, kunnes löysit jotain hienoa ja kirjoitit oivaltavan artikkelin. älä siirry seuraavaan paperiin. keskity sen sijaan työsi tulosten levittämiseen maailmaan ja pyri todelliseen vuorovaikutukseen ihmisten kanssa, ei vain yhden paperijulkaisusi suhteen, vaan aktiivisesti tutkimastasi kokonaisuudesta. tai vielä parempaa, kerro ihmisille hyödyllisestä avoimen lähdekoodin työkalusta, jota olet rakentamassa ja ylläpitämässä ja joka tallentaa keskeiset ideasi.
yleinen ensimmäinen askel on julkaista esipainettu paperisi arxivissa ja julkaista sitten "postaus", jossa ilmoitetaan paperisi julkaisemisesta. kun teet tämän, varmista, että aloitat viestisi tietyllä, merkittävällä ja ymmärrettävällä väitteellä. tavoitteena ei ole kertoa ihmisille, että julkaisit artikkelin, jolla ei ole itseisarvoa. tavoitteena on välittää tärkeimmät argumentit suoraan ja mukaansatempaavalla tavalla. (kyllä, tiedän, että se on vaikeaa, mutta se on välttämätöntä).
ehkä vielä tärkeämpää on, että prosessi ei pääty ensimmäiseen "käynnistykseen", se on vasta alkua. koska olet nyt panostanut projekteihin, ei vain papereihin, ideasi ja tieteellinen viestintäsi jatkuvat läpi vuoden, kaukana yksittäisistä paperijulkaisuista.
kun autan jatko-opiskelijoita twiittaamaan työstään, ei ole harvinaista, että heidän alkuperäiset viestinsä eivät saa toivottua huomiota. opiskelijat näkevät tämän usein vahvistavana pelkoaan tutkimustensa julkaisemisesta ja pitävät sitä toisena merkkinä siitä, että heidän pitäisi siirtyä seuraavaan artikkeliin. ilmeisesti tämä ajatus on väärä.
on olemassa runsaasti henkilökohtaisia kokemuksia, toisen käden kokemuksia ja havaintoja, jotka osoittavat, että on erittäin järkevää pysyä tässä asiassa (mitä muuten monet eivät tee). toisin sanoen, harvoja poikkeuksia lukuun ottamatta, hyvän idean veto edellyttää, että kerrot ihmisille avainasiat useita kertoja eri yhteyksissä ja jatkat ideaasi ja ideasi toimittamista, kunnes yhteisö pystyy omaksumaan nämä ideat ajan myötä kenttä saavuttaa oikean kehitysvaiheen, jossa nämä ideat ovat helpompia ymmärtää.
kerää jännitystä
vinkkejä avoimen lähdekoodin tutkimuksen julkaisemiseen
ihmisten innostaminen tutkimuksestasi on hyvä asia, mutta ideoiden toimittaminen asiaankuuluviin loppupään sovelluksiin julkaisemalla, osallistumalla ja kehittämällä avoimen lähdekoodin työkaluja voi usein olla suurempi vaikutus.
tämä ei ole helppoa: pelkkä kooditiedostojen lataaminen readme:n kanssa githubiin ei riitä. hyvä arkisto on projektisi "koti", tärkeämpi kuin mikään julkaisemasi paperi.
hyvä avoimen lähdekoodin tutkimus vaatii kaksi lähes itsenäistä ominaisuutta. ensinnäkin sen on oltava hyvää tutkimusta, uutta, oikea-aikaista, kattavaa ja tarkkaa. toiseksi sillä on oltava selkeä loppupään hyötykäyttö ja alhainen kitka.
tämä on tärkein osa: ihmiset toistuvasti välttävät (ja muut käyttävät toistuvasti) oss-työtäsi kaikista "vääristä" syistä. tutkimuksesi voi esimerkiksi olla objektiivisesti "tekniikan tasoa", mutta todennäköisimmin ihmiset priorisoivat vaihtoehtoja, joilla on vähemmän kitkaa. toisaalta jatko-opiskelijat eivät usein ymmärrä, miksi ihmiset esimerkiksi käyttävät työkaluasi, koska he eivät hyödynnä täysin luovimpia osiasi. tätä ei kannata vastustaa, mutta se on ymmärtämisen arvoinen ja parantamisen arvoinen.
tämän perusteella haluaisin listata muutamia virstanpylväitä, joihin on kiinnitettävä huomiota avoimen lähdekoodin tutkimustulosten osalta.
virstanpylväs 0: aseta julkaistu sisältö saataville
ei ole mitään järkeä julkaista koodia, jota kukaan ei voi suorittaa. tutkimusalallasi nämä ihmiset haluavat toistaa tuloksiasi. ehkä he menevät työsi ulkopuolelle ja lainaavat tutkimustuloksiasi. nämä ihmiset ovat kärsivällisempiä kuin muut käyttäjät. löydät silti valtavia eroja akateemisessa vaikutuksessa riippuen siitä, kuinka helppoa koodia on korjata.
virstanpylväs 1: tee julkaistusta sisällöstä hyödyllistä
oman markkinaraon ihmisten lisäksi sinun tulee varmistaa, että julkaisustasi on hyötyä yleisölle, joka haluaa todella käyttää projektia muiden asioiden rakentamiseen. tekoälytutkimuksessa tämä virstanpylväs tulee harvoin luonnostaan. sinun tulisi varata paljon aikaa pohtimaan ongelmia, joita ihmiset yrittävät ratkaista (tutkimus, tuotanto jne.) ja missä tekoälytyösi voivat auttaa. jos osaat tehdä tämän oikein, siitä on paljon etuja projektin suunnittelusta paljastettuun api:iin ja esitettyihin dokumentaatioihin/esimerkkeihin.
virstanpylväs 2: tee julkaisuista ymmärrettäviä
tämä on vaikeaa tekoälytutkijoille, mutta meidän on ymmärrettävä, että hyödyllinen versio, jossa kaikki on teknisesti saatavilla ja jossain määrin selitettävissä, ei tarkoita, että suurin osa mahdollisista käyttäjistäsi löytää tämän. versio on helppo ymmärtää ja riittää pitämään heidät. oppimaan tai kokeilemaan sitä.
tunnettu tekoälytutkija andrej karpathy kirjoitti tästä aiheesta artikkelin: "sinä rakennat jotain, ja sitten sinun on rakennettava ramppeja päästäksesi siihen." ben clavie on myös kirjoittanut tästä laajasti, ja hän on ollut tärkeä osa colbertin parissa tekemäämme työtä ja sen helpottamista.
virstanpylväs 3: selvitä, miksi ilmeinen vaihtoehto epäonnistui, ja ole kärsivällinen
aloitimme puhumalla kaksi askelta eteenpäin ajattelusta. tämä on mielestäni ratkaisevan tärkeää, mutta se tarkoittaa myös sitä, että useimmat ihmiset eivät ymmärrä, miksi he tarvitsevat ratkaisun ongelmaan, jota he eivät vielä pysty selvästi havaitsemaan. luulen, että osa työstäsi ajan mittaan on tapauksen rakentaminen. kerää todisteita ja selitä helposti ymmärrettävällä tavalla, miksi ilmeiset vaihtoehdot (ajattele askel kerrallaan) epäonnistuvat.
virstanpylväs 4: ymmärrä käyttäjätyypit ja hyödynnä tämä kasvuun
kun aloitin colbertin ja dspyn, alkuperäinen yleisöni oli tutkijoita ja ammattimaisia ml-insinöörejä. ajan myötä opin luopumaan siitä ja ymmärtämään, että voit tavoittaa suuremman yleisön, mutta he haluavat eri asioita. ennen kuin teet mitään, älä epäsuorasti tai edes suoraan estä eri potentiaalisten käyttäjien luokkia. tämä tilanne on paljon yleisempi kuin ihmiset luulevat.
toiseksi käyttäjiä etsiessämme meidän on löydettävä tasapaino näiden kahden käyttäjätyypin välillä. toisaalta asiantuntijarakentajat, joilla on edistyneitä käyttötapauksia, saattavat vaatia paljon rahaa, mutta niillä on tapana viedä tiettyjä käyttötapauksia eteenpäin tutkimuksen kannalta, mikä voi maksaa. julkiset rakentajat eivät tyypillisesti ole ml-asiantuntijoita, mutta he rakentavat ja jakavat oppimiaan usein julkisesti, muodostavat suuremman osan laajamittainen kasvusta ja saavat sinut ajattelemaan enemmän alkuperäistä hypoteesia. tarvitset molemmat.
virstanpylväs 5: muuta kiinnostus kasvavaksi yhteisöksi
oss-työn todellinen menestys piilee yhteisön läsnäolossa ja sen jatkuvassa kasvussa ponnisteluistasi riippumatta. yleisesti ottaen hyvän yhteisön tulee olla orgaanista, mutta sen muodostumisen edistämiseksi täytyy aktiivisesti työskennellä, esimerkiksi toivottaa kommentteja ja keskusteluja sekä etsiä mahdollisuuksia muuttaa kiinnostus panoksiksi tai jonkinlaiseksi foorumiksi (kuten discord tai github).
virstanpylväs 6: muunna kiinnostus aktiivisiksi, yhteistoiminnallisiksi ja modulaarisiksi loppupään projekteiksi
todennäköisesti oss-projektisi alkuvaiheessa ei ratkaise kaikkia alkuperäisen visiosi ongelmia. hyvin suunnitellussa projektissa on usein useita modulaarisia osia, joiden avulla voit aloittaa tutkimusyhteistyötä (tai muita ponnisteluja) ja antaa uusille tiimin jäsenille mahdollisuuden paitsi edistää projektia myös omistaa merkittäviä osia projektista, mikä tekee siitä nopeamman tai suuremman vaikutuksen. ideoitaan ja samalla parantaa projektia dramaattisesti. esimerkiksi dspyllä on tällä hetkellä erilliset tiimit, jotka johtavat juuri-in-time-optimoinnin, ohjelmoinnin abstraktion ja vahvistusoppimisen t&k-työtä. colbertin komponentteja, kuten ulkoisia sovellusohjelmointirajapintoja, taustalla olevaa hakuinfrastruktuuria ja ydinmallinnusta, ohjaavat ensisijaisesti eri henkilöt eri projekteissa.
tule, tee yhteenveto. avoimen lähdekoodin tutkimuksen omaksuminen edellyttää hyvää tutkimusta ja hyviä avoimen lähdekoodin tuloksia. tätä tasapainoa on vaikea saavuttaa, mutta kun saat sen oikein, se voi olla erittäin palkitsevaa. henkilökohtaisesti kesti kauan tajuta ja sisäistää tämä. tämä johtui tohtorinohjaajieni chris pottsin ja matei zaharian toistuvasta palautteesta sekä heather millerin ja jeremy howardin arvokkaasta panoksesta.
tutkimuksen arviointikriteerinä on "lisäys" aikaisempaan tietoon verrattuna, mutta ennen kuin "lisää" voidaan järkevästi hyödyntää, ohjelmiston itsensä on oltava tehokas. jotta ohjelmisto olisi tehokas, myös sen dokumentaation on oltava tehokasta: ihmiset eivät näe kaikkia ohjelmiston loppupään tapoja käyttää ohjelmistoa, ellet näytä sitä heille. eli kunnes itsenäinen yhteisö voi kehittää näitä tehtäviä.
kaiken tämän jälkeen tärkein taito tässä osiossa on "julkaista", todella julkaista, julkaista usein ja oppia siitä.
julkaise uusi lehti
jatka sijoittamista omiin projekteihisi
kun luet viidettä sääntöä, on luonnollista kysyä: missä jatko-opiskelijat viettävät niin paljon aikaa avoimen lähdekoodin ohjelmistojen parissa? milloin todellista tutkimusta voidaan tehdä?
käytännön vastaus on, että suurin osa avoimeen lähdekoodiin käytetystä ajasta voitaisiin käyttää uuden ja jännittävän tutkimuksen tekemiseen. nämä kaksi eivät ole niin erillisiä kuin miltä ne näyttävät. miksi sanot niin?
ensinnäkin tällaisen avoimen lähdekoodin ohjelmistotyön eturintamassa oleminen mahdollistaa uusien ongelmien tunnistamisen intuitiivisesti hyvin varhaisessa vaiheessa. ymmärrät ongelman vaistomaisemmin kuin muuten. lisäksi rakentamasi yhteisö antaa usein suoraa palautetta omista menetelmäprototyypeistäsi ja antaa sinulle pääsyn lahjakkaille yhteistyökumppaneille, jotka ymmärtävät ongelman tärkeyden. saat myös käyttöösi hyödyllisiä "jakelukanavia" varmistaaksesi, että jokainen tällä alueella julkaisemasi uusi lehti tavoittaa yleisösi ja vahvistaa olemassa olevaa alustaasi.
esimerkiksi "colbert" ei ole vain paperi vuoden 2020 alussa. sillä on nyt luultavasti kymmenen seurantaan liittyvää paperia, ja se investoi parempaan koulutukseen, pienempään muistiin, nopeampaan hakuinfrastruktuuriin, parempaan toimialueen mukautumiseen ja parempaan yhteensopivuuteen myöhempien nlp-tehtävien kanssa. samoin dspy ei ole paperi, vaan kokoelma papereita ohjelmoinnin abstraktiosta, vihjeiden optimoinnista ja loppupään ohjelmista. monet näistä kirjoituksista ovat useiden erinomaisten tekijöiden kirjoittamia, ja heidän työllään on ollut valtava vaikutus, osittain luomalla laaja yleisö avoimen lähdekoodin ohjelmistokanavien kautta.
hyvä avoimen lähdekoodin työkalu voi siis luoda modulaarisia teoksia, joita uudet tutkijat ja avustajat voivat tutkia, omistaa ja kehittää.
alkuperäinen viiteteksti: https://github.com/okhat/blog/blob/main/2024.09.impact.md