» »

Prodaja in zakodiranje programa

Prodaja in zakodiranje programa

stric00 ::

Pozdravljeni,

zanima me kako je s prodajo programa, katerega napišeš. Ga lahko tržiš sam ali moraš dati kakemu podjetju? Kje dobiti licenco, katero vzeti... Ali lahko enostavno pač postaviš na splet in daš neko ceno zraven?

Ob enem bi še vprašal kako "uspešno" zakodirati program (da ne pride do zlorab)?

Sem iskal po forumu in spletu pa nisem našel kaj veliko uporabnih informacij, tako da ce nisem iskal v pravi smeri me prosim popravite.

Hvala

jamiroq ::

za prodajo lahko uporabiš kakšen temu namenjen servis, recimo share-it ali pa esellerate. predvidevam, da se da tudi s kakšnim paypalom kako skombinirat...

kako je z zaščito pa ne bi vedel. imam pač samo izkušnje z nakupom nekaj shareware programov. če bi moral ugibati bi rekel, da moraš na nek način s kupčevih podatkov ob nakupu zgenerirati registracijsko kodo in jo nato dostaviti kupcu. zna bit, da za to poskrbi kateri od zgornjih servisov, ti potem v svoj program samo vklopiš mehanizem za prepoznavo in odklep s pomočjo kode.

stric00 ::

Aha hvala za linka.
Mogoce kdo ve kako narediti "ucinkovito" zaščito da bo program delal le do nekega datuma? Torej bo časovno omejen RC.

Loki ::

mislim, da ima installshield (placljiva verzija sicer) neko moznost, da nardis program trialware (brez sprememb v samem programu)
I left my wallet in El Segundo

Poldi112 ::

Edina učinkovita zaščita ti je da je program tako zanič da ga nihče noče :)

Ker poglej kako enostavno je dobiti crack za praktično vse kar ti pade na pamet. Zakaj bi se torej sploh trudil? Če daš časovno zaščito se pač datum premakne nazaj. Če je serijska se registriraš tako kot prvi ko je program kupil in vneseš njegovo serijsko.

Open source in prodaja storitev, tu je prihodnost.
Where all think alike, no one thinks very much.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.

stric00 ::

No ja, sigurne zaščite sigurno ni (mogoče je najboljsa še USB key), ampak casovno omejene različice se mi zdi da delujejo še kar dobro, če se prstavi ura se pač zaklene itd.
Podporo pri preprostem programu pa neverjamem da bi kdo plačal...

StratOS ::

Najboljša zaščita je seveda server related security opcija, še posebej če gre za kakšne online zbiranje podatkov iz spleta.
"Multitasking - ability to f##k up several things at once."
"It works better if you plug it in."
"The one who is digging the hole for the other to fall in is allready in it."

c3p0 ::

Za zaklepanje uporabiš npr. program Armadillo, ki program kar dobro zaklene. Če ne bo zelo popularen, ga ne bo nihče šel "krekat", kar pri tej stopnji zaščite, ki jo ta program ponuja, nikakor ni lahka naloga. Če ti $300 ni preveč...

http://www.siliconrealms.com/

goranv ::

Kdo placuje programerje ki programirajo odprtokodne programe, ali delajo to zastonj?

fiction ::

goranv: To, da je program opensource se ne pomeni, da je tudi zastonj, ampak le da je na voljo izvorna koda!

Ce delas neko namensko aplikacijo za enega narocnika, mu lahko oddas tudi source in mu tako omogocis, da si kaj manjsega popravi sam (teoreticno) oz. se preprica o "kvaliteti" tvoje kode. Za razne kriticne zadeve je to lahko zelo pomembno. Podjetje lahko recimo najame zunanjega cloveka, ki pregleda program za varnostnimi ranljivostmi ali kaj takega.

Tudi drugace to, da objavis source ni nujno tako slabo. Se vedno lahko das neko svojo licenco, ki preprecuje
tistemu, ki je kupil program skupaj z izvorno kodo, da to prodaja oz. daje zastonj sam naprej.
V principu si cisto na istem kot ce bi mu dal preveden program. Takoj, ko ima nekdo program, ga lahko (piratsko)
razsirja naprej in ga drugim ni vec treba kupiti. Razne aktivacije, serijske stevilke in podobno so security-through-obscurity
(in dodaten annoyance za uporabnika).
Fora je samo v tem, da je z debuggerjem tezje odkriti kako jih obiti kot pa ce imas na voljo source. Se vedno pa je to seveda mozno glede na to, da se vse skupaj izvaja na tvoji strojni opremi.

Drug problem, ki se ti lahko zgodi je, da nekdo delcke tvojega programa uporabi za kaj svojega.
Ker njemu ni treba dajati zraven izvorne kode, je to zelo tezko odkriti.

GPL licenca je malo bolj problematicna za komercialne namene.
Pravi, da moras dati tistemu, ki od tebe kupi (ali pa zastonj dobi) program, vse svoboscine.
Edina omejitev je, da ne more spremeniti licence in tvoje kode uporabiti za nek
svoj produkt (oz. mora ce to naredi tudi njegov produkt biti na voljo pod GPL licenco in
njegova izvorna koda prosto dostopna). To resi tisti zgoraj omenjeni problem.

Je pa zato tukaj drug problem, vsak ki dobi tvoj program, ga lahko cisto legalno daje naprej
oz. tudi sam prodaja. Ali pa naredi nek manjsi popravek in prodaja potem tisto.

Podjetja so zato zacela uporabljati "hack" - dvojno licenco.
Tako lahko vsak dobi izvorno kodo in jo tudi uporablja. Ce nekdo tako kodo potem
uporabi v svojem produktu ima dve moznosti: ali mora tudi svoj program
izdati pod GPL licenco (in razkriti izvorno kodo)
ali pa ne in mora zato placati ("komercialna licenca" tistega kar je vgradil).

Samo s programiranjem cistih GPL programov, se najbrz ne da ziveti.
Zato vsa podjetja, ki se ukvarjajo s tem ponujajo tudi support.
Logika tukaj je, da nekdo ki je sprogramiral izdelek, stvar bolj podorbno pozna in
lahko bolje pomaga uporabnikom kot nekdo tretji.

Torej ni nujno, da je GPL programska oprema samo plod nadeljskih programerjev,
ampak so jo lahko ustvarili programerji, ki so za to cisto normalno placani.

fiction ::

To, da je odprta koda plod geekov, ki stvari razvijajo v svojem prostem casu je malo zasterelo oz. bolj mit. Seveda je se nekaj takih. Ali pa ljudje, ki nekaj sprogramirajo za resitev nekega svojega problema in potem bolj zaradi slave svojo kodo delijo z ostalimi.
Ampak dejstvo, da velika podjetja stojijo za kar nekaj opensource (oz. celo GPL) projekti dokazuje, da je v tem denar.

Vse skupaj je najbrz tudi posledica sprememb v miselnosti. Vcasih je bil v ospredju racunalnik in programi. Podjetja so trzila programsko opremo in za vecino ljudi je bilo to takrat cisto dovolj.

Sedaj je v ospredju clovek in storitve. In storitev ni nujno samo to, da cloveku das program, ki mu potem omogoca resitev problema. Vedno vec ljudi uporablja racunalnik, kar pomeni, da je vedno vec tudi neukih uporabnikov. Tako je del storitve lahko tudi podpora (da jih sploh naucis kako uporabljati program). Ali pa uporaba nekega streznika. Lahko jim recimo das izvorno kodo vsega kar tece pri njih pa bos zaradi tega se vedno lahko trzil svojo "backup" storitev, saj je glaven del tega prostor na tvojem strezniku oz. kasneje ustrezno varovanje teh podatkov. Se vec, s tem ko si dal na razpolago izvorno kodo tvojega klienta, bo mogoce kdo napisal razsiritev, ki bo naredila tvojo storitev se bolj popularno.

BigWhale ::

V programu nardis 750 razlicnih LOCK funkcij... Vsaka preverja lock na malo drugacen nacin.

Potem si napises makro, ki da pred vsakim klicem katerekoli funkcije v programu poklice randomly eno izmed teh lock funkcij... Stvar bo precej tezka za cracknit...

Se bolje pa je, da stvar izdaj pod GPL licenco. ;>

darkolord ::

Ja, z GPLjem pa res preprečiš nepooblaščeno kopiranje in uporabo :)

Zgodovina sprememb…

  • spremenilo: darkolord ()

Loki ::

kaj pa, ce samo onemogocis makro? pa ce das pod gpl, nisi nic storil, ker bom jaz samo malo spremenil UI in zadevo prodal kot closed source.
I left my wallet in El Segundo

fiction ::

Ce zadevo izdas kot closed-source, si s tem krsil GPL.
Enkrat GPL, vedno GPL - nima veze da si spremenil UI.
Seveda pa lahko to tvojo verzijo kot GPL lepo sam prodajas, ampak to bi lahko
tudi originalno (ce bi jo sploh kdo hotel kupiti).

Makra ne mores "onemogociti". To je samo nek preprocesorski trik v izvorni kodi, da se vedno ob klicu neke funkcije poklice se neka druga za preverjanje.

Po moznosti je dobro vse to imeti inline (tako da clovek ne more vedeti kje je kaksna funkcija in enostavno "preskakovati" dolocenih).

Potem lahko dodas se razne trike za preverjanje, ce se tvoja koda izvaja v debuggerju (ptrace attach nase ipd.).

Ampak v vsakem primeru moras nekje v pomnilniku imeti neko pravo vrednost cesar koli ze in z njo nekaj drugega primerjati. To pa se da, ne glede na to da vedno uporabljas neko drugo LOCK funkcijo, hitro najti.
Boljsa resitev je imeti delcke programa encryptane in jih v runtimu dekriptirati z nekim
kljucem, ki se tudi nahaja v programu. Tako nekdo ne more narediti analize celotne kode (no vsaj ne tako enostavno), ampak mora program pognati. Takrat pa lahko ti v ozdadju pozenes nek
thread, ki gleda da ni slucajno aktiven debugger. V glavnem threadu pa samo na vsake toliko casa preverjas, ce se tista druga nit se izvaja.

fiction ::

Ena zanimiva ideja je se, da meris case med dolocenimi dogodki v programu.
Tako lahko hitro odkrijes, ce je bil vmes kaksen breakpoint.

Ampak v principu je kakrsnokoli zascito mozno obiti.
Ce ne drugega imas lahko posebno, v skrajnem primeru hardwarsko, okolje (ki dela single-step in software o tem nima pojma, poleg tega pa mu posteze se s sfrizirano uro).

Recimo, da je ta tvoja zascita toliko efektivna, da je za zlobno osebo lazje implementirati funkcionalnost tvojega programa kot pa se ubadati z njo. Se vedno moras misliti na uporabnika. Ta zascita lahko naredi program veliko pocasnejsi kot bi bil sicer, kar pa ni dobro. Poleg tega mora uporabnik dobiti neko serijsko stevilko, da bo njemu program normalno delal in kaj ti zagotavlja da ne bo te takoj delil z drugimi? Dejansko bi mu moral dati posebej za njega popravljen program...

Ena ideja je, da bi bila "serijska stevilka" del kljuca, ki odkodira delcke programa, ampak
se vedno bi lahko tisti, ki je program kupil poskusal pridobiti nezakodiran program in tega
potem dajati naprej.

yeti ::

stric00: V cem je program pisan in na katerem sistemu bo "laufal"?

Open Source berači dajte mir, sam je povedal kaj bi rad, pojdite raje pred kaksen mercator in tam fehtajte.

Zgodovina sprememb…

  • spremenil: yeti ()

drola ::

goranv: To, da je program opensource se ne pomeni, da je tudi zastonj, ampak le da je na voljo izvorna koda!



Kaj je opensource je precej natančno definirano (glej 1. točko).
https://drola.si

BigWhale ::

yeti je pa trol.

yeti ::

yeti je pa trol.


... in blazno mu gredo na k*rac osebki, ki po forumu fehtarijo kot klošarji
naj jim dajo avtorji source od programa. saj niti ne vejo kaj je, bistvo je
da imajo source. pa da vas vidim fanatike, dajte VI svoje source pod public
domain, to je super zadeva, samo od supporta boste zasluzili miljone, varuje
vas pred vsemi morebitnimi pravnimi problemi skratka "ful boljš" kot GPL, torej
je*eš GPL, PUBLIC DOMAIN to je ta pravo... ;( Zdaj pa "spread the word", hitro
na vse forume, kar jih poznate objavit novo vero in orgazmirati ob misli na novo
religijo.

Zgodovina sprememb…

  • spremenil: yeti ()

BigWhale ::

yeti, ti ne samo da si trol, si se zlo neizobrazen trol. Na zalost. Ce bi vsaj trolal zato ker bi kaj vedel.

Daedalus ::

Ma ni trol. Sam boji se superiornega poslovnega modela, ki ga bo popapcal, z njegovo uber kodo vred.
Man is condemned to be free; because once thrown into the world,
he is responsible for everything he does.
[J.P.Sartre]

yeti ::

Priznam, sem "trol" in sem "neizobražen". BigWhale še kaj na enaki intelektualni ravni? Me ne gane.

"superiornega poslovnega modela"

Ne vem, morda imas prav, klošarjenje je sicer res vedno prinasalo maksimalno zasluzka z minimalno truda ma nisem cisto preprican, ce bi ga res imenoval superiornega... (mimogrede, klošarjenje imenujem vaše obnašanje, ne pa open source!)

"ki ga bo popapcal, z njegovo uber kodo vred"

Joj. Se že tresem.

Zgodovina sprememb…

  • spremenil: yeti ()

Daedalus ::

(mimogrede, klošarjenje imenujem vaše obnašanje, ne pa open source!)


Čigavo obnašanje že? A to od onih so called FRI programerjev, ki tukajle stokrat na teden jokcajo za reševanje domačih nalog?
Man is condemned to be free; because once thrown into the world,
he is responsible for everything he does.
[J.P.Sartre]

Matthai ::

stric00: V cem je program pisan in na katerem sistemu bo "laufal"?
Open Source berači dajte mir, sam je povedal kaj bi rad, pojdite raje pred kaksen mercator in tam fehtajte.


V resnici moram reči, da še nisem videl opensource programerja, ki bi postavljal taka vprašanja kot tale gospod iz začetka te teme. Povprečni opensourcar o licencah, zaščiti in poslovnih modelih ve bistveno več kot tole, kar vidimo tule.

Tako da res ne vem kdo je berač.

Je pa na tem forumu precej beračev, ki sprašujejo če jim je kdo za 50 EUR pripravljen sprogramirati njihovo domačo nalogo.
Pa brez zamere.

Mimogrede: opensourcarji smo svojo kodo že objavljali na internetu. In to še počnemo.
Kind of an asshole at first sight, but actually a nice guy
when you get to know me personally. :)

yeti ::

Matthai ne vem ce govoriva o istem, ma bo že.

stric00: V cem je program pisan in na katerem sistemu bo "laufal"?


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

GPL/LGPL

Oddelek: Programska oprema
485662 (2836) čuhalev
»

Prodaja programov

Oddelek: Programiranje
423563 (1846) BigWhale
»

Prodaja GPL-ed kode

Oddelek: Programiranje
151815 (1489) arjan_t
»

Kolikšen del programske kode je še zaščiten?

Oddelek: Programiranje
231727 (1133) yeti
»

Kršitve GPL (strani: 1 2 3 )

Oddelek: Novice / Ostale najave
1028917 (7110) noraguta

Več podobnih tem