Tuesday, April 12, 2016

Tarkvara litsentsid




Antud õigused
Avalik omand, üldkasutatav
Lubav tarkvara litsents (minimaalsed piirangud kuidas mitte tarkvara kasutada)
Copyleft vaba tarkvara litsents
Vaba tarkvara litsents
Omanduslik litsents
Ärisaladus, kaubasaladus
Autoriõigus jaotamata
Ei

Jah

Jah

Jah

Jah

Jah

Õigus kasutada
Jah

Jah

Jah

Jah

Jah

Ei

Õigus näidata
Jah

Jah

Jah

Jah

Jah

Ei

Õigus kopeerida
Jah

Jah

Jah

Tihti
Ei

Ei

Õigus muuta
Jah

Jah

Jah

Ei

Ei

Ei

Õigus jagada
Jah

Jah, sama litsentsi all

Jah, sama litsentsi all
Tihti
Ei

Ei

Õigus edasi, lisaks litsentseerida
Jah

Jah

Ei

Ei

Ei

Ei

Näited tarkvaradest
ImageJ, SQLite, AVG,
ToyBox, Apache Webserver
GIMP, Linux kernel, NetBeans,
Irfanview, Winamp
TeamViewer,
Google Chrome,

Microsoft Windows, Half-Life 2
Adobe Flash Player, PS3 OS, iTunes, Adobe Photoshop, Google Earth, Mac OS X, Skype, WinRAR
World of Warcraft
(serveri pool)

Copyleft (sõnamänguline termin, mis on tuletatud autoriõiguse inglise keelsest nimetusest „copyright" põhimõte on klausel vaba kasutamise tagamise kohta. See tagab igale tarkvara koopia valdajale õiguse teostada teatavaid seaduse alusel ainult autorile kuuluvaid õigusi. Copyleft tugineb autoriõigusele: kui seadus ei annaks autorile rida ainuõigusi, sh õigust lubada või keelata oma teose kasutamist teiste isikute poolt, ei saaks autor oma teose ega sellest tuletatud teoste levitamisele mingeid piiranguid seada.
Litsentsid jagunevad liht- ja ainulitsentsideks. Lihtlitsentsi andmisel säilib litsentsiandjal õigus litsentsis nimetatud õigusi ka ise teostada, ainulitsentsi andmisel mitte. Ainulitsentsi andmine ei muuda varem antud lihtlitsentside kehtivust (nt kuni nende tähtaja lõpuni).
Kuna omandipõhise ja vaba tarkvara ärimudelid ja levitamise õiguslikud põhimõtted on erinevad, siis tuleb nende puhul vaadelda laias laastu kahte tüüpi litsentse. Omandusliku tarkvara puhul jäävad kõik varalised õigused ühele isikule, kas arendajale või tellijale. Vaba tarkvara (mitte segamini ajada vabavaraga) puhul kasutatakse copyleft ehk õigustest loobumise põhimõtet. Viimase ulatus määratakse kasutatavas litsentsis.
Vaba tarkvara litsentsid on lihtlitsentsid, mis tagavad igale litsentsitava tarkvara koopia valdajale vaba tarkvara neli põhiõigust igale selle kasutajale:
·         mistahes eesmärgil kasutada;
·         uurida, tutvudes lähtekoodiga;
·         muuta ja parandada;
·         nii muudetud kui muutmata kujul levitada.
Litsentse, mis ei ole vaba tarkvara litsentsid, nimetatakse omanduslikeks (ingl keeles proprietary).
Kui litsentsisaaja levitab ja/või edastab originaaltarkvara koopiaid või sellest saadud muudetud tarkvara, tohib see levitamine ja/või edastamine toimuda ainult vastavalt algse litsentsi tingimustele järgi või autori poolt mõne muu kindlaks määratud litsentsi tingimustele. Seejuures litsentsisaaja muutumisel litsentsiandjaks ei saa ta tarkvarale või sellest tuletatud tarkvarale lisada ega kehtestada mingeid lisatingimusi, mis muudavad või piiravad algse litsentsi tingimusi.
Ükski vaba tarkvara litsents ei kohusta ühtki selle alusel litsentsitud tarkvara kasutajat lähteteksti jagama kellelegi, kellele ta ei ole edastanud programmi täitekoodi või kellele ta ei ole programmi olulisi funktsioone kättesaadavaks teinud. Samuti ei ole keelatud küsida teistelt isikutelt rahalist või muud kompensatsiooni programmi koopiate levitamise või programmi olulistele funktsioonidele juurdepääsu võimaldamise eest. Keelatud on täiendava tulu nõudmine lähtekoodile juurdepääsu võimaldamise eest.
Kui tarkvarasüsteemi kõigi komponentide autoriõigused kuuluvad ühele isikule, võib see isik (arendaja) oma programmi levitada mistahes tingimustel. Kui aga programm sisaldab omanduslike või copyleft'iga litsentside alusel levitatavaid komponente, mille autoriõigused kuuluvad kolmandatele isikutele, on arendaja vabadus litsentsi valida piiratud nende komponentide litsentside tingimustega.
Tellija, kes finantseerib tarkvarahanke oma vahenditest, on vaba arendajaga kokku leppima mistahes litsentsitingimustes, mis on kummalegi poolele vastuvõetavad. Kui hanget finantseeritakse muudest allikatest, võib hankija vabadus litsentsivalikul olla finantseerija poolt piiratud. Näiteks on EL toetuste puhul reeglina nõutav Euroopa Ühenduse Avaliku Litsentsi (EUPL) kasutamine.
Keerukamad tarkvarasüsteemid koosnevad reeglina erinevate autorite poolt loodud komponentidest ning süsteemi kui terviku litsentsimine üheainsa litsentsiga ei pruugi olla võimalik. Sellisel juhul tasub hangitava süsteemi erinevatele komponentidele rakendada erinevaid litsentsitingimusi.

NÄIDE:

Hiina kohus tunnistas süüdi 11 meest Microsofti tarkvara piraatlusega, mis oli kestnud juba aastaid. Nad said karistada 18 kuu kuni 6 ja poole aastase vangistusega. Piraatlusega tegelevate inimeste aastane sissetulek oli rohkem kui 2 miljardit dollarit. (kopeerisid Microsoft tarkvara ja müüsid pea identsete pakenditega jne, väga raske oli vahet teha võltsingul ja originaalil). Microsoft leidis nende poolt tehtud kaupa 36-st riigist. Kohtu dokumentidest tuli välja, et suurem osa 11nest inimesest olid lõpetanud ainult põhikooli.
Chinese Court Convicts 11 in Microsoft Piracy Case
Top of Form
Bottom of Form
Published: December 31, 2008


mdaiganes

http://wiki.kehtna.edu.ee/Andmebaaside_projekteerimine
Database model.png

Monday, February 16, 2015

Failid 16/02/2015




Fail - pidev loogiline aadressruum
loogiline faili ülesehitus
kettal paiknemine- füüsiline

https://courses.cs.ut.ee/MTAT.03.005/2014_fall/uploads/Main/os_loeng09.pdf

OS loob seosed

Tüübid:

data- andmefailid - numeric, character, binary
program - programmfailid -  source, object(load image)
documents - dokumendid

faili struktuur:

  • None -korrastamata (no sequence of words/bytes)
  • Simple rocord structure - lihtsa kirje laadne - lines(read, fixed lenght, variable lenght(muutuva pikkusega)
  • Complex structures- keeruka ülesehitusega - fromatted document, re-locatable load file
  • can simulate last 2 with first method by inserting appropriate control characters -võib simuleerida 2 viimast, kasutades juhtsümboleid
  • kes määrab? OS, Programm

 Faili omadused:

  • name - only information human readable
  • type- for systems that support multiple types
  • location - pointer to a device an to file location on device
  • size- current file size, maximal possible size
  • protection-kaitse või loabitid- controls who can read, write, execute
  • time, date and user identification - data for protection, security and usage monitoring
  • information about files are kept in the directory structure, maintained on disk - info failide kohta hoitakse kaustastruktuuris
file operations - tehingud failidega-

fail - abstraktne andmetüüp, mis määratletud:

  • create a file
  • write a file
  • read a file
  • reposition within file - file seek = failist otsimine
  • delete a file
  • truncate a file - faili sisu kärpipmine
  • open(fi) - konkreetse faili nimega (fi) avamine - search the directory structure on disk for entry fi, and move the content on entry to memory
  • close(fi) - konkreetse faili sulgemine - move content on entry fi in memory to directory structure on disk - mälust kettaseadme kaustastruktuuri kirjutamine

file types - name.extension - tüübid

executable - exe,com,bin - machine language program
object - obj,o - complied machine lang., not liked
source code - c, CC, p, java, asm... - source code in varous lang.
batch - bat sh- comands to commant interpreter
print, viw - ps, dvi, gif - ASCII or binary file
archive - arc, zip

kaustastruktuur:

  • arv võib olla väga suur *failisüsteemi tükeldamine jaotisteks * info hoidmine kettajaotistes
  • sõlmede tabelid - device directory: a collection of nodes containing information about all files on a partition
  • kaustastruktuur ja failid paiknevad kettaseadmel - both the directory structure and the files reside on disk
  • varundusi hoitakse lindiseadmetel (nüüd harva) backups of these two structures are kept on tapes

 seadmekaustas asuv info

  • nimi
  • tüüp
  • aadress või asukoht
  • jooksev pikkus (praegusel hetkel)
  • suurim pikkus
  • ajatemplid
  • kaitseinfo
  • faili/protsessipõhiselt * jooksev asukoht failis * kasutuse statistika
kaustaoperatisoonid
 
 rename a file, lista a directory(kaustade loetelu loomine), treverse the filesystem(failisüs läbimine)

loogilise kaustaruumi loomise eesmärk

  • asukoha kiire määramine
  • nimed * two users can have the same name for different files * the same file can have several different names
  • grupeerimine tunnuste alusel - logical grouping of files by properties (e.g. all pascaö programs, all games...)

 Ühetasandilised kaustad

  • üks kaust kõigile
  • nimeprobleem * unikaalsete nimede meelespidamise programm * kasutajate kasvuga vajadus unikaalsete nimede kasvuks 




 Kahetasandilised kaustad

  • loodi kasutajanime programmi lahendamiseks
  • esimene tase kasutajate kaustad
  • teine sisaldab kasutaja faile
  • vajadus märatleda tee asukohani
  • samu failinimesid võivad kasutada eri kasutajad
  • süsteemifaile hoitakse eraldi
  • efektiivne otsimine


 

 puukujulised kaustastruktuurid



  • suvaline kaustade sügavus
  • efektiivsed otsingud
  • grupeerimine
  • current directory (working directory) * nt: cd/spell/mail/prog * type list
  • MS-DOS uses a tree structured directory 
  • absoluutne ja suhteline tee * absolute from root * relative paths from current working directory pointer
  • creating a new file is done in current directory(jooksvas kaustas)
  • creating a new subdirectory is done in current directoyr(jooksvas kaustas)
  • delete a file (jooksvas kaustas)
  • delection of directory *option1: only delete if directory is empty Option2: deleta ell files and subdirectories under directory

 atsüklilise graafi kaustad, nt DAG (vt wikipedia)

- faili poole pöördumise teid/viise on mitemid, 
failil võib olla mitu absoluutset teed
  • failisüsteemi läbimiseks tuleb tagada ainult üks :(
  • kustutamine :( - võib tekitada lahtisi viitasid, hoida kuni kõik viidad on kaotatud, kui viitasid pole võib kustutada
  • võimaldab failide jagamist
  • teostus linkidena
  • teostus jagatud failide korral * dubleeritud info * koopiad eristamatud 
  • võimaldab paremat failide jagamist

 üldise graafistruktuuriga kaustad

kuidas vältida tsükleid?
*allow only links to file not subdirectories
*every time a new link is added usa e cycle detection algorithm to determine wheter it is ok
kui lingid kaustale, siis lihtne graaf
*tagada mitmekordsete teede välistamine
viidete arv pole null
*vajalik prügi korjamise mehhanism - need garbage collecrion mechanism to determine if file can be deleted

Pöördusmeetodid

  • jadapöördus - sequential access
 *read text
*write text
*reset
*no read after last write (rewrite)
  • direct access - otsepöördus ( n= relative block number)
*read n
*write n
*position to n
      read text
      write text
*rewrite n

Failide kaitse

  • omanik reguleerib
*what can be done
*by whom
  • types of access - pääsumeetodid
*read*write*execute*append - lõppu lisamine (kirjutamine)*delete*list 


Pääsuloendid ja grupid

  • igale failile - associate each file8directory with access list *problem- loendi pikkus :(
  • solution - condensed version of list - pakitud loetelu 
  • mode of access: read, write, execute - pääsumeetodid
  • three classes of users- 
  1. owner access - user who created the file
  2. groups access - set of users who are sharing the file and need similar access
  3. public access - all other users
  • UNIX loabitid (vt wikipedia file system permissions)

FS realiseerimine

  • file system structure - fs ülesehitus
  • hõivamismeetodid - allocation methods
  •  - vaba ruumi haldus- free-space management
  • directory implementation - kaustade realis
  • efficency and performance - efektiivsus
  • recovery - taastamine
  • Paikneb on secondary storage , infovahetus blokkidena
  • fs kihiline
  • file control block - analoog PCB-le -- storage structure consistinc of information about a file
  • loogilised salvestusüksused

 Failisüsteemide monteerimine. 

  • enne kasutamist vajalik monteerida kokku
  • mounting 

Kettaruumi hõivamine

  • madala taseme pääsumeetodid sõltuvad hõivamisskeemist
  • pidev kettaruumi hõivam - contiguous allocation
  • linkedlist allocation - lingitud listi kasutamine
  • block allocation - blokikaupa hõivamine

Pidev hõivamine

  • iga pail hõivab kettal pideva blokkide grupi
  • lihtne, vajalik algusbloki nr ja pikkus
  • sobib otse- või järjestikpöörduseks
  • kiire ja lihtne taastada
  • puuudesed:
  • wasteful of space, use first fit of best fir
  • files cannot grow - expanding file requires copying
  • users tend to overestimate space - internal fragmentation
  • mapping from logical to physical - sidumine

Lingitud hõivamine

  • iga fail on määratud lingitud loeteluga
  • hajutatud - blocks may be scattered anywhere on disk
  • iga sõlm loetelus võib olla 1 kuni n blokki
  • andmeid kasutajad ei näe - pointers in list not accessible to user
  • bloki suurus kettas oleneb ketta suurusest
  • saab kasvada keskselt ja otstest, ple vaja ruumi kalkuleerida
  • sobib järjestikpöörduseks, mitte juhipöörduseks
  • aeglane
  • pole väga usaldusväärne - system crashes can scramblefiles being updated
  • erisused - important variation on linked allocation method 
  • used by ms-dos and os2

Indekseeritud hõivamine

  • toob kõik viidad kooku indeksblokki
  • indexed allocation
  • vajalik indekstabel
  • võimaldab järjestik-, otse, ja idekseeritud pölördust
  • dünaamiline pöördus väldib välist killustust, indeksbloki lugemine nõuab aega
  • kaardistamine <Q,R>
  • loogilise ja füüsilise ruumi kaart kindla pikkuseta failis
  • lingitud blokkide skeem - link block of index tables (no limit on size)
  • mitmetasandilised indeksid
  • -suurendab tasandite arvu faili suuruse kasvades
  • - faili max suurus piiratud