Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Já Vánoce juchuchu
oslavím na Lopuchu!

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Klub Programování [ŽP: neomezená] (kategorie Programování) moderuje tvx.
Archiv
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
 Titulek, text příspěvku  
Opište pozpátku následující text bez prostředního znaku: wqzbmiu
[ 857 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
operator304 4.8.2010 13:08  1137
kovarikJo tak...

konstruktor je druh metody, ktera se vola na tride pomoci operatoru "new" a vraci novou instanci toho objektu. Jako kazda metoda, muze i tahle mit parametry. Ty volas konstruktor "Pes(float vyska, String jmeno, String narozeni )", ale mas tam jen konstruktor "Pes()".

Jo, char je datovej typ, obsahujici jeden znak. Tzn "Haryk" se ti do nej nevejde, pouzij String. Stejne tak nepouzivej apostrofy ale uvozovky, pro obaleni retezcu.
kovarik 4.8.2010 13:05  1136
A sakryš. Vím o tom úplně prd, co je to "konstruktor pro "Pes"? To má být uvnitř té třídy? Pokus:

public class Pes {
public float výška; //cm
public char jméno;
public char narození;

public Pes ()
}
Pes haryk = new Pes (70.3, 'Haryk', '10.3.2005 15:45');

(Sorry za blbé dotazy, nic o Javě nevím a potřebuju to vysloveně jednorázově, tj. do budoucna ani nic vědět nepotřebuju a jde mi jen o vyřešení tohoto jednoduchého příkladu: vytvořit třídu Pes a pak vytvářet různé objekty této třídy.)
operator304 4.8.2010 12:12  1135
jo, jeste, nepouzivej diakritiku. I kdyz to nicemu vlastne nevadi, je to povazovano za prasecinu...
operator304 4.8.2010 12:04  1134
* ten konstruktor je samozrejme pro "Pes", ne pro "Haryk"
operator304 4.8.2010 12:02  1133
1) haryk s malym H, nazvy promennych zacinaj malejma pismenama.

2) nevidim konstruktor pro Haryk (vyska, jmeno, datum), je tam jen defaultni. Tohle by se ani neprelozilo.

3) prehlednejs to jde pouzitim getteru a setteru.

4) datum ma datovy typ "Date", ale plnit ho ze stringu musis pomoci nejake implementace "DateFormat". Ja pouzivam "SimpleDateFormat"
kovarik 4.8.2010 11:49  1132
DotazyRád bych se zeptal, jestli jsem V JAVĚ formálně i věcně správně vytvořil příklad definice třídy "Pes" a následně instance této třídy v objektu "Haryk".
Krom toho bych rád věděl, jestli datum a čas narození lze uložit do nějakého datového typu ve smyslu "datetime" (hledal jsem, ale na několika nalezených stránkách o datových typech v Javě jsem podobný typ nenašel).
A poslední otázka: v té instanci třídy naplňuji proměnné "výška", "jméno" a "narození" hodnotami, a to tak, že dodržuji pořadí, v jakém byly deklarovány v třídě a odděluji čárkami. Nešlo by to nějak přehledněji ve smyslu "výška = 70"? (Opět to v několika nalezených tutorialech bylo jen tak jak jsem uvedl níže.)


public class Pes{
public float výška; //cm
public char jméno;
public char narození;
}
Pes Haryk = new Pes (70.3, 'Haryk', '10.3.2005 15:45');
bredy 3.8.2010 12:12  1131
pepakMůžeš zveřejnit svůj kód a napsat tam, ať is uživatel stáhne ostatní zdrojáky a přeloží a program používá na vlastní zodpovědnost. Welcome to Linux.
pepak pepak - Pepak.net 3.8.2010 11:55  1130
Asi to tak taky udělám. Ale docela mě to děsí - fakt to začíná vypadat, že nemohu legálně kombinovat GPL kód s neGPL kódem (a dokonce i s GPL kódem v jiné verzi GPL).
bredy 3.8.2010 11:42  1129
pepakPokud chceš zveřejňovat kódy a je ti to jedno, tak bych se na licence vykašlal úplně, pokud ti licence te ktere knihovny nezakazuje kód zveřejnit. A případně tam dopsat, pod kterými licencemi jsou ty zdrojové kódy zveřejněny. Stejně v každém zdrojáku je povinná hlavička o licenci.
johny_g Johny_G - Relaxační terapie pro lopušáky ZDARMA! 3.8.2010 11:37  1128
Z mé strany se jednalo jen o odpověď na pátou otázku :-). A docela jsem i tušil, že to není košér, protože jsem ty blafy nikdy nečetl a číst nebudu. Když chce někdo zaplatit a nenajdu alternativu, zaplatím. Když zaplatit nechce, tak z úcty k jeho práci jednoznačně uvedu zdroj. To je asi tak vše, co se ode mě dá očekávat. Ale moje aplikace používá málo lidí, takže čert to vem.
pepak pepak - Pepak.net 3.8.2010 11:19  1126
Bredy, Johny_G: Problém je v tom, že například GPL vyžaduje, že když použiješ GPL knihovnu, musíš i celou aplikaci vypustit pod GPL. A to nezávisle na tom, jestgli tu GPL knihovnu upravuju nebo neupravuju.

Oddělení knihovny do DLL má v mém případě technické důvody, nikoliv právní.
bredy 3.8.2010 10:41  1125
Upřímě, jak na to koukám, je čas GPL úplně opustit a přejít na jiné free licence. Začíná to být právnický balast.
bredy 3.8.2010 10:37  1124
pepakObecně to řeším tak, že pokud knihovna má nějakou licenci, pak si jí přečtu. Pokud vyžaduje, zveřejnit její zdrojové kódy, tak je zveřejním. Ale do knihovny většinou nezasahuju, takže mého kódu se to netýká. Obecně si myslím, že body licencí splníš, pokud do svého EULA nebo do About, nebo kamkoliv dáš soupis knihoven, které použils, a kde k ním uživatel najde zdrojáky. (nebo je přiložíš)

Sám si myslím, že takovéto hraní si na propojení a oddělení knihoven technickými prostředky, jako cpát knihovnu do DLLka, nebo nedejbože do samostatného procesu, aby to někdo nemohl napadnout, není řešení. Možná by na to ale lépe odpověděl právník. Z mého technicky ovlivněného názoru by to šlo proti duchu GPL licencí obecně. Pokud by došlo na lámání chleba a někdo Tě skutečně žaloval, bude ti stačit dokázat, že tvá práce je od knihovny oddělena a nejedná se tedy o zásah do licence GPL, aby to vyžadovalo zveřejnit tvé zdrojové soubory. Přitom by mělo podle mě stačit oddělení na úrovni zdrojových kódů.

Bohužel ale, protože existují LGPL licence atd, tak to spíš ukazuje, že na technické řešeni nakonec přeci jen musí dojít. Prostě licence GPL je hezká hračka, ale pro praktické využití je to k ničemu. Možná bude lepší kontaktovat autory a požádat je o extra svolení, případně o vydání knihoven pod jinou licencí. A nebo doufat, že to nikdo žalovat nebude, protože autory knihoven už daná věc dávno nezajímá a pracují na něčem jiném.
johny_g Johny_G - Relaxační terapie pro lopušáky ZDARMA! 3.8.2010 08:51  1123
Jelikož do kódu těch knihoven nezasahuji, nedělám si s tím těžkou hlavu, a jen v About (u opensource i v komentářích v kódu) uvedu autora a odkaz na oficiální webovou stránku knihovny.
pepak pepak - Pepak.net 3.8.2010 08:42  1122
Mám program, který se skládá ze spousty mého kódu a taky z několika cizích knihoven, které jsou vypuštěny pod řadou různých licencí: některé používají nějakou vlastní freeware licenci (vesměs zhruba v duchu "dělej si s tím co chceš, ale napiš mě jako autora knihovny a nechtěj po mě žádné záruky"), některé jsou uvolněné pod Mozilla Public License 1.1, jedna knihovna je GNU GPL 2 a jedna je GNU GPL 3. Já jsem teď ty licence trochu zkoumal, abych věděl, pod jakou licencí mám uvolnit svůj program, a místo aby mi to problém osvětlilo, tak ho to naopak zatemnilo - skoro mám pocit, že program nemůžu uvolnit vůbec:

1) GNU FAQ říká, že GPL2 a GPL3 spolu nejsou kompatibilní. Když hledám průsečíky v Compatibility Matrix (část "I want to use a library under"), tak není ani jedna kombinace, kterou bych směl použít, pokud chci současně využít knihovnu pod GPL2 i pod GPL3.

2) Do toho ještě leze MPL, která zase ve svém FAQu na otázku kombinace MPL kódu a GPL kódu říká, že to v jedné binárce nejde, leda že by ten MPL kód byl současně vypuštěn i pod GPL (což v mém případě není).

Určité zjednodušení by mohlo být v tom, že v mém případě je GPL2 knihovna použita v relativně samostatném DLL (které vůbec nemusí být přítomno, pokud program jeho funkce nepotřebuje) a zrovna tak i GPL3 knihovna je použita jen v dalším samostatném DLL. Ale kdybych se dejme tomu nekdy v budoucnosti rozhodl použít knihovnu, kterou potřebuju zakompilovat rovnou do exáče, tak jsem zase na začátku.

Otázky:

1) Pokud je jediný GPL kód použitý v samostatném DLL, které program může a nemusí použít (v podstatě je to plugin pro nepovinnou funkčnost), stačí, když pod příslušným GPL uvolním jenom to DLL a zbytek programu pod jinou licencí? GLP FAQ k tomu "velmi nápomocně" píše, že moje použití je hraniční případ ("borderline case").

2) Pokud to takhle udělat nejde, existuje nějaký jiný způsob, jak v jednom programu zkompilovat GPL2 a GPL3 kód?

3) Existuje vůbec nějaký způsob, jak v jednou programu zkombinovat můj kód (u kterého je mi vcelku jedno, pod kterou free licencí ho uvolním), MPL kód a GPL kód?

Zdůrazňuji: Nejde o to, jak "využít GPL kód a nemuset publikovat zdroják" - program je tak jako tak uvolněn se zdrojovým kódem a kdybych nebyl omezen "nakažlivostí" jednotlivých licencí, vyhovoval by mi právě ten výše uvedený typ licence "dělej si s tím, co chceš, pokud budu uveden jako autor a nebude po mě vyžadována žádná odpovědnost". Jde o to, jak moci použít různé knihovny s různými licencemi, aniž bych tyto licence porušoval.

4) Je k dispozici nějaký FAQ, který by se zabýval právě využíváním různě licencovaných knihoven? GPL FAQ a MPL FAQ jsou v tomto ohledu poměrně k ničemu.

5) Jak tenhle problém řešíte vy, pokud ho vůbec řešíte?

[ 857 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt