Epäonnistunut maksu saada avoimen lähdekoodin projekti

https://unsplash.com/photos/Tjbk79TARiE

Neljän hengen käynnistyessä suunnittelutiimimme joutui leikkaamaan useita kulmia lähettääksemme jatkuvasti muuttuvan luettelon ominaisuuksista, joita tarvitsemme. Laitimme koodiin paljon TODO-kommentteja toivoessamme järjestää asennustekniikan velan. Metatiedot lisättiin kommentteihin harkiten toivoen pitää asiat järjestettyinä, mutta menetimme nopeasti suurimman osan niistä. Meillä oli paljon koodia, ei paljon ihmisiä, ja järjestelmän rakentamisen ja ylläpidon kehitystyöstä tuli nopeasti vähemmän miellyttävää.

Vapaana aikana rakensin itselleni ja tiimilleni työkalun: Toukot. Se on työkalu, joka tarkistaa kaikkien TODO-merkintöjen koodipohjan, järjestää ne ja mahdollistaa metatietojen muutokset, joita sovelletaan suoraan koodipohjan TODO-merkintöihin. Minusta se oli hieno työkalu! Ilokseni, kun panin koodin GitHubiin, muut näyttivät ajattelevan myös niin. Ihmiset tähtivät, haarukkasivat, kloonasivat ja latasivat. Toodles alkoivat saada kommentteja ihmisiltä ympäri maailmaa, ja olin hämmästynyt siitä, että se ilmestyi.

Internet-ihmisten ja työtovereideni innostuneena rohkaisemani jatkoin vapaa-aikana töitä villakoiran parissa. Kuten useimmat projektit, GitHub-toiminta hidastui lopulta, mutta se ei poistunut. Saisin satunnaista virheraporttia, joskus ihmisiltä, ​​jotka näyttivät työskentelevän paljon suuremmissa yrityksissä. En halunnut ohjelmistoni näyttävän tai vialliselta, joten korjaan sen heti, kun minulla oli aikaa, mutta ajatus kuplii:

Miksi vapaaehtoistyin aikani suuressa yrityksessä? Miksi olin jopa vapaaehtoistyöntekijä aikaa palkkaavassa yrityksessäni?

Tutkittuani tätä kysymystä jonkin aikaa, tulin siihen johtopäätökseen, että voisin yrittää veloittaa rahaa villakoirat. Loppujen lopuksi olin tehnyt paljon työtä työkalulla, jota käytetään yrityksessä, on kohtuullista, että yritän maksaa siitä. Monet muut kysymykset käntyivät heti esiin.

  • Mistä asiakas voi ostaa villakoiria? Kuinka minä annan sen heille?
  • Käyttikö kukaan tosissa toukkita säännöllisesti? Koska se on ladattu ja suoritettu käyttäjän koneella, enkä ole vielä kirjoittanut mukautettua koodia käytötietojen kirjaamiseksi, en voinut edes olla varma, oliko tämä pyrkimys minun aikani arvoinen.
  • Jos sillä olisi tavallisia käyttäjiä, maksaako joku heistä siitä?
  • Jos he haluaisivat, kuinka nousin maksu heiltä?
  • Kuinka voisin veloittaa yrityksiltä rahaa toukkailusta ja pitää sen ilmaiseksi yksityishenkilöille tekemättä paljon koodaustyötä vain tätä tarkoitusta varten?
  • Onko eettistä ansaita rahaa avoimen lähdekoodin projektille, johon muut ihmiset ovat osallistuneet, eikä maksa myöskään heille? Kuinka voisin lähettää rahaa kaikille avustajille tai päättää oikeudenmukaisesti, kuinka paljon he maksavat?

Päätin käsitellä ensin käyttötilastoja. Toodles on ohjelma, joka asennettaisiin käyttäjiensä koneisiin, joten tietojen keräämiseksi sen on tehtävä etäkirjaus päätepisteeseen, jonka minun on tuettava. Jotkut kehittäjät ovat melko vihamielisiä tämän ajatuksen suhteen (esimerkiksi: https://github.com/lihaoyi/Ammonite/issues/607). En voinut käyttää perinteisiä pilvipohjaisia ​​lokipalvelupalveluja, koska se vaatisi lokien keräysdeemonia käyttäjien koneissa. Oman taustaohjelman asettaminen vain paikallisesti käytetyn sovelluksen käyttötilastojen keräämistä varten näytti myös ylenmääräiseltä. Jos tähän ongelmaan on olemassa oikea ratkaisu, en ole vieläkään löytänyt sitä.

Tietojen puutteesta ja yleisestä epävarmuudesta huolimatta päätin siirtyä eteenpäin ja tehdä maksettu tasku Toodles-yrityksille. Yksilöiden erottamiseksi yrityksistä oli TODO-merkintöjen lukumäärän yläraja, jota Toodles tutkii, ja kynnysarvo oli asetettu riittävän korkeaksi, jotta vain erittäin suuret koodipohjat laukaisivat sen. Koska Toodles itsessään on palvelin, jota käyttäjä käyttää koneellaan, maksetun käyttäjän todentaminen oli hankalaa. Minulla oli kaksi vaihtoehtoa:

  1. Rakenna tai osta taustajärjestelmä, joka seuraa käyttäjätilejä, ostoksia jne. Ja saa Toodles-asiakkaan puhumaan sen kanssa.
  2. Levitä lisenssitiedostoja, jotka Toodles voi vahvistaa maksettujen ominaisuuksien käyttämiseksi.

Rakennusvaihtoehto (1) oli kohtuuttoman suuri työmäärä, joten halusin välttää sitä. Maksullista palvelua vaihtoehdolle (1) ei näyttänyt olevan (ja ei ole). Koska ei ollut muuta vaihtoehtoa, minun piti mennä vaihtoehdon (2) kanssa. Minulla ei ollut aavistustakaan kuinka lisenssitiedosto luoda ja validoida, mutta arvasin sen lopulta turhauttavan ajan kuluttua. Toivoin ponnisteluni olevan sen arvoista.

Seuraavaksi jouduin tukemaan verkkokauppaa, jotta ihmiset voisivat ostaa lisenssitiedoston. Oli vaikea löytää verkkokaupan palvelua, joka voi antaa minun ohjelmallisesti luoda lisenssitiedoston, kun asiakas tekee ostoksen. Löysin lopulta tämän ominaisuuden verkkokauppasivustolla fastspring.com. Se oli hankala perustaa. Kun kanini-reikäni pyrkimyksestäni syveni, sijoitetun pääoman tuotto näytti vähemmän ja todennäköisemmin olevan positiivinen.

Kun paukkoin pääni seinää vasten tarpeeksi kauan, jotta FastSpring tuotti lisenssitiedostoni, verkkokauppa toimi. Se näytti verkkokaupalta 2000-luvun alkupuolelta, mutta ainakin se toimi. Perustin yksinkertaisen aloitussivun, joka ohjaa myymälään lopullista ostoa varten.

Verkkokaupan valmistuttua olin valmis aloittamaan Toodles Pron myynti! Jouduin maksamaan FastSpringille suuren 5%: n maksun kaikesta tekemästäni myynnistä, mutta ainakin pystyin ansaitsemaan rahaa nyt. Kauppa ei näyttänyt hyvältä, koska FastSpring ei näyttänyt keskittyvän paljon suunnitteluun, mutta se oli parempi kuin ei mitään. Se oli toimiva, mutta kaikesta asennuksesta aiheutuneen vaivan vuoksi se jätti paljon toivomisen varaa.

Kun kaikki oli paikoillaan, odotin nähdäko jokin nykyisistä käyttäjistä päivittää palkittuun taskuttamiseen. Jonkin ajan kuluttua ...

Mikään ei tapahtunut. Nolla ihmiset ovat ostaneet Toodles Pron toistaiseksi. Tajusin, että minun olisi käytettävä paljon enemmän aikaa myydä tämä projekti tosiasiallisesti, jos haluaisin saada tuloja ollenkaan. Mutta en yrittänyt perustaa täydellistä yritystä Toodlesilla; Halusin vain kaapata arvoa, jonka työni tuotti kaupallisille yksiköille. Kävi selväksi, että minkä tahansa rahan ansaitseminen vie suuren määrän etukäteen tehtäviä ponnisteluja, jotka ovat tangentiaalisia projektin todellisten tavoitteideni suhteen.

Joten luopuiin. Oli ollut liian monia ongelmia, jotka veivät tai olisivat vieneet liian paljon aikaa ansaitaksesi avoimen lähdekoodin projektini:

  • Tavan perustaminen ohjelmistomaksujen vastaanottamiselle oli vaikeaa. Jopa selvittää, mitä alustaa käyttää ensin, oli vaikeaa.
  • Koska maksuratkaisu ei ole osa projektin jakelua, pelkkä maksujen käsittely ei riittänyt. Nyt sovelluskoodi oli tiukasti kytketty, mutta onnistuin toteuttamaan lisenssien luomisen FastSpringilla. Lisenssien validointi ja käyttäjätason käsittely piti pakata suoraan koodiin toimimaan. Tällaisten huolenaiheiden tiukka kytkeminen uhraa koodin ylläpidettävyyden ja joustavuuden. Yksi muuttuu vaikeaksi toista muuttamatta.
  • Kaikkien edellä mainittujen lisäksi ei ollut selvää arvioida, pitäisikö minunkin ratkaista nämä ongelmat ansaitaksesi projektini, koska minulla ei ollut tietoja siitä, käyttivätkö / milloin / miten ihmiset ensisijaisesti työkaluani! Minulla ei ollut helppoa tapaa selvittää, koska ohjelmisto on asennettu käyttäjien koneisiin.

Valitettava tosiasia oli, että jokainen päivä, joka vietti Toodles-kaupan ansaitsemista, oli aika, jota en ollut viettänyt tekemällä Toodles-tuotteita parempiin käyttäjille. Jotta voimme ratkaista tämän ongelman meille avoimen lähdekoodin kehittäjille, tarvitsemme tavan jakaa ohjelmistomme sisäänrakennetulla maksu- ja käyttöraportoinnilla, jotta kehittäjät voivat keskittyä vain käyttäjien rakastaman avoimen lähdekoodin projektin rakentamiseen ja hallintaan.

Annan lisää ajatuksia tästä ongelmasta, kun jatkan sen käsittelyä. Seuraa lisää.