Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Nettisovelluksen kaupallistaminen / koodin salaus

Sivun loppuun

hauki [22.08.2020 15:43:20]

#

Hei
Harkitsen kaupallisesti jossain määrin arvokkaan perinteisesti toteuttamani sovelluksen muokkaamista selaimessa toimivaksi. En kuitenkaan haluaisi antaa koodia mahdollisille kilpailijoille ihan vapaasti kopioitavaksi. Lähdinkin kyselemään, onko JavaScript koodia mahdollista suojata luotettavasti?

Myös muut vinkit sopivista hakusanoista kaupallistamiseen liittyen kiinnostaisi. Löytyykö esimerkiksi kirjautumiseen/käyttäjien hallintaan valmiita alustoja?

Todennäköisesti tulisin toteuttamaan sovelluksen JavaScript Canvas piirtoalustalle. Toki tästäkin saa esittää kommentteja.

Grez [22.08.2020 15:57:10]

#

hauki kirjoitti:

onko JavaScript koodia mahdollista suojata luotettavasti?

Jos tarkoitat käyttäjän selaimessa ajettavaa: Ei ole.
Jos tarkoitat palvelimen päässä ajettavaa: Ei ole tarvetta erikseen suojata, eli jos vaan palvelin on hyvin ylläpidetty niin koodiin ei ole ulkopuolisen mahdollista päästä käsiksi.

Tyypillisesti jos on joku salainen algoritmi tms, niin se ajetaan palvelimella ja käyttäjän selaimella käytetään vain palvelimelta saatuja tuloksia.

Sinänsä toki jos sovellus nykyisellään on paikallisella koneella käytettävä, niin kyllähän sieltäkin saa kaivettua kaiken toteutuksen esille.

hauki kirjoitti:

Myös muut vinkit sopivista hakusanoista kaupallistamiseen liittyen kiinnostaisi. Löytyykö esimerkiksi kirjautumiseen/käyttäjien hallintaan valmiita alustoja?

Kirjautumiseen ja käyttäjän hallintaan on monissa frameworkeissa valmiit työkalut. Nämä ilmeisesti siis tulisi palvelimen päähän. Onko sinulla tarkoitus toteuttaa myös palvelinpuoli Javascriptillä, esim. NodeJS?

hauki [22.08.2020 16:08:22]

#

Käytännössä koko sovellus olisi selaimessa toimiva - toteutus JavaScript canvas.

Palvelimen päähän ei tulisi juuri muuta kuin tuo käyttäjien hallinta. Siltä osin en ole asiaa vielä miettinyt. Itse sovelluksen kannalta oleellisia toimintoja (näppäimistön, hiiren jne hallinta) olen testannut jo canvasilla ja todennut projektin siltä osin mahdolliseksi.

Ehkä tähän pitäisi keinotekoisesti tehdä jotain palvelinpuolta vaativia osia, jotta toimivan ohjelman kopiointi kokonaisuutena ei ainakaan olisi mahdollista.

Metabolix [22.08.2020 17:25:37]

#

Yleisesti ottaen koodi ei ole kovin arvokasta, jos se ei ole lukukelpoista. Julkaisuversiossa voi tiivistää ja sotkea JavaScript-koodin valmiilla työkaluilla (minifier, obfuscator), jolloin sitä ei ole käytännöllistä kopioida.

Yksi vaihtoehto on myös WebAssembly. Silloin purkaminen alkuperäiseen muotoon on suunnilleen yhtä vaikeaa kuin perinteisillä käännettävillä kielillä. Sitä paitsi jos ohjelma on tehty ennestään sopivalla kielellä, kriittisten osien kääntäminen WebAssemblyksi voi jopa säästää vaivaa, kun ei tarvitse tehdä kaikkea uudestaan JavaScriptilla. Netistä löytyy luultavasti helposti vastaus siihen, onko käyttämääsi kieltä mahdollista kääntää WebAssemblyksi.

Kuten Grez sanoi, tuotteen kopiointi sellaisenaan on joka tapauksessa mahdollista yhtä lailla selaimen tapauksessa kuin erillisenä ohjelmana. Siinä mielessä tilanne ei siis muutu.

hauki [23.08.2020 13:54:22]

#

Erittäin hyvä huomio Metabolix. Tämä voi hyvinkin tulla kyseeseen.

The Alchemist [23.08.2020 14:41:12]

#

Julkaisuversion optimoinnin minifier-työkaluilla ei pitäisi olla "voi tulla kyseeseen" -juttu vaan kyllä se pitäisi aina tehdä. Sen tarkoituksena ei kuitenkaan ole suojata sovellusta vaan parantaa käyttäjäkokemusta nopeamman latautumisen kautta.

Jos sinulla on sovelluksessasi hyvin vähän koodia ja siksi sitä ei tarvitse optimoida, niin sitten olet kyllä kuvitellut taas ihan liikaa ohjelmasi arvosta. Jos koodia on hyvin vähän, niin sovellus ei tietenkään voi olla kovin uniikki, koska kuka tahansa voi nopeasti koodata vastaavan. Silloin koodin suojaaminen on aika turha juttu muutenkin.

Oma kokemukseni it-projekteista on se, että laadukkaalla koodilla on aika vähän arvoa. Myyntityö ratkaisee ja paskaakin koodia voi myydä helposti. Usein koodin huonouden voi myös piilottaa kivannäköisen käyttöliittymän alle. Kun sitä aikansa purkkailee bugikorjausten myötä, niin kauheastakin koodista saa viat taputeltua pois.

Jaska [23.08.2020 18:48:07]

#

hauki kirjoitti:

En kuitenkaan haluaisi antaa koodia mahdollisille kilpailijoille ihan vapaasti kopioitavaksi.

Koodin voi lisensoida. Olet oikeutettu saaamaan tekijänoikeuskorvausta työstäsi. Julkaistua koodiasi ei saa suorittaa ilman lisenssiä, mutta sitä saa tutkia ja kirjoittaa oman version ohjelmasta.

Marko Karvinen [28.08.2020 23:13:37]

#

Kommentoin tätä viestiketjua, vaikka en ole asiantuntija it-alalla.

Bisnes-ideat, keksinnöt ja nettisovellukset ideaasteella on karkeasti vain 1% koko jutusta. Toteutus ja siinä onnistuminen ratkaisee, että alkaako syntyä rahavirtaa. Jos sulla on pomminvarma idea ja joku haluaa hyötyä siitä, niin se että koodi (=toteutus) on salainen, ei paljoa muuta tilannetta.

Maailmaan mahtuu ideoita ja jos idea on hyvä, niin kilpailua syntyy. Mun mielestäni se on sama, että alkaako kilpailu jo samalla viikolla vai kolmen vuoden kuluttua. Pärjätäkseen pitää hoitaa hommat paremmin, kuin kilpailijat. Se, että olet kehittänyt sen ainoan ja alkuperäisen jutun, niin hyödyttää sinua kilpailussa. Saat paljon enemmän palstatilaa yms. huomiota, kuin kopioijasi.

Kävin jokunen aika sitten esittelemässä nettisovellusideaani eräässä startup-tapahtumassa. Sen tapahtuman vetäjä kertoi olleensa mukana n 5000 hankkeessa, eikä koskaan ollut tullut vastaan, että jonkun idea olisi varastettu. Hän jopa suositteli, että kaikki salassapitosopimuksetkin olisivat ajanhukkaa.

Lebe80 [01.09.2020 22:51:21]

#

Joku joskus sanoi, että 50% toteutettavan palvelun budjetista pitäisi käyttää markkinointiin. Idea ja toteutus on turhaa, jos kukaan ei tiedä siitä.

Marko Karvinen [02.09.2020 11:08:43]

#

Lebe80 kirjoitti:

Joku joskus sanoi, että 50% toteutettavan palvelun budjetista pitäisi käyttää markkinointiin. Idea ja toteutus on turhaa, jos kukaan ei tiedä siitä.

Itse ajattelen, että jopa isompikin osuus budjetista kannattaa käyttää, jos idea osoittautuu toimivaksi. Eli, käytännössä pilotointivaiheessa testataan pomminkestävyys.

Lebe80 [02.09.2020 16:15:12]

#

Marko Karvinen kirjoitti:

(02.09.2020 11:08:43): ”– –” Itse ajattelen, että jopa isompikin osuus...

Juu, oikea lainaus taisi olla "vähintään 50% budjetista".


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta