Din utvecklare försvann. Här är vad du faktiskt äger.

Utvecklaren har slutat svara. Kanske har personen gått vidare, kanske slutade samarbetet illa, kanske blev det bara tyst. Mjukvaran rullar fortfarande, och det är just det som får folk att vänta längre än de borde - den fungerar, alltså är det ännu ingen kris.

Det är en kris. Varje vecka du väntar löper något ut som du inte visste stod i någon annans namn.

Kontrollera de här fem sakerna i dag

Inte nästa vecka. Var och en av dem går att få tillbaka medan kontot lever, och blir ett dyrt juridiskt problem så snart det förfaller.

  • Domänregistraren. Slå upp din domän i en WHOIS-tjänst. Om innehavaren inte är du eller ditt bolag har du inte kontroll över din egen adress. Det är den här som knäcker verksamheter.
  • DNS:en. Ofta hos en annan leverantör än registraren. Den som styr DNS styr vart din e-post går.
  • Servern eller webbhotellskontot. Vems kort dras det på? Ett utgånget kort på någon annans konto raderar din sajt med ett automatiskt mejl som ingen läser.
  • Kodförrådet. GitHub, GitLab, Bitbucket. Har du aldrig sett det, utgå från att du inte har det.
  • Tredjepartskontona. Betallösningen, faktureringstjänsten, SMS-gatewayen, statistiken. Var och en är en egen inloggning och var och en kan sägas upp utan dig.

Skriv ner det du hittar. Den listan är det faktiska läget för ditt ägande, och det är oftast sämre än vad avtalet antyder.

”Vi äger koden” är inte samma sak som att äga systemet

De flesta avtal överlåter upphovsrätten till källkoden, och de flesta kunder läser det som ägande. Det är mindre än det låter.

Att äga koden betyder att du lagligt får använda och ändra den. Det betyder inte att du har en kopia av den, att någon kan köra den, att kontona den pratar med är dina, eller att den som vet varför den byggdes så är skyldig att förklara. Jag har tagit över system där kunden hade fullt giltig upphovsrätt till mjukvara de inte kunde deploya, på en server de inte kom åt, med API-nycklar registrerade på en privat e-postadress hos ett företag som inte längre fanns.

Ägande är en checklista, inte en avtalsklausul.

Vad som oftast går att rädda

Mer än folk befarar. Att koden är obekant är inte samma sak som att koden är dålig, och ärvd mjukvara har ett rykte den inte alltid förtjänar - ett system som någon annan skrivit ser alltid sämre ut än ett du skrivit själv, eftersom du inte kan se resonemanget bakom.

Det som faktiskt avgör är smalare än kodkvaliteten:

  • Är datan intakt och går den att exportera? Det är den enda oersättliga delen. Kod kan skrivas om på veckor; fem års kundregister går inte att rekonstruera alls.
  • Går det fortfarande att deploya? Ett system ingen kan bygga om från källkoden är ett system som kör på en maskin du aldrig får starta om.
  • Underhålls beroendena fortfarande? Ett ramverk som ligger tre stora versioner efter är en budgetpost, inte ett hinder.
  • Går hemligheterna att få tillbaka? Nycklar kan utfärdas på nytt. Kontona som håller dem är problemet.

Lägg märke till att inget av det handlar om ”är koden elegant”. Jag har stabiliserat riktigt fula system på en vecka för att datan var ren och deployen fungerade, och rekommenderat att ersätta prydliga system där varken det ena eller det andra stämde.

Det ärliga svaret är ofta ”mindre än du tror”

Folk kommer hit och väntar sig att få höra att allt måste byggas om, delvis för att det är vad de fått höra av den som lämnade offert sist. Ibland stämmer det. Oftare är systemet sunt och det som havererade var allt runt omkring: ingen kunde deploya, säkerhetskopiorna testades aldrig, och en enda person hade alla konton.

Det är en veckas arbete och en överlämning, inte en omskrivning. Jag säger hellre det till dig och tar en veckas arbete än säljer dig sex månader du inte behövde - delvis för att det är sant, och delvis för att den kund som fick höra sanningen är den som kommer tillbaka.

Så slipper du hamna här igen

Vem du än anlitar härnäst: kräv det här innan första raden skrivs, inte i slutet: varje konto skapas i ditt namn, av dig, och utvecklaren läggs till på det. Inte överfört vid överlämningen. Skapat som ditt från början.

Det kostar ingenting, det tar en eftermiddag, och det är hela skillnaden mellan ett leverantörsbyte och en kris. Om en utvecklare stretar emot har du lärt dig något värdefullt tidigt, medan det fortfarande är billigt att lära sig.

Resten av överlämningsstandarden - dokumentation, tester, en deploy ditt eget team kan köra - finns på min tjänstesida, och skälet till att jag bryr mig så här mycket står i anteckningen om vem som faktiskt använder din mjukvara.