Rola Wolnego Oprogramowania w edukacji. Bartosz Wucke Państwowa Wyższa Szkoła Zawodowa w Tarnowie



Podobne dokumenty
Wolne oprogramowanie

Tworzenie oprogramowania

Technologia Informacyjna

S YSTEM O PERACYJNY L INUX W PARCOWNI

Prawa autorskie, licencje

Opracowanie dodatkowego rodzaju pytań dla systemu Moodle

Wstęp do Informatyki dla bioinformatyków


Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Licencje na oprogramowanie i zasoby internetowe

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Open Source w Open e-learningu. Przykłady zastosowania

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Software is like sex it s better when it s free. Linus Torvalds

Rozkład materiału nauczania z przedmiotu INFORMATYKA. dla gimnazjum

KOMPUTER. Programy użytkowe i systemy operacyjne

Wstęp do Informatyki. Klasyfikacja oprogramowania

LearnIT project PL/08/LLP-LdV/TOI/140001

Prawa autorskie cd. Prawa autorskie. Autorskie prawa majątkowe. Autorskie prawa osobiste

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej

Wykład VI. Wybrane zagadnienia licencjonowania i praw autorskich. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Bezpieczeństwo systemów komputerowych

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wpisany przez Łukasz Nawrotek Poniedziałek, 20 Październik :57 - Zmieniony Poniedziałek, 20 Październik :02

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP

System Zarządzania Treścią

ABIX Cyfrowa edukacja z oprogramowaniem Open Source

Plan nauczania informatyki Opracował: mgr Daniel Starego

REFERAT PRACY DYPLOMOWEJ

PROGRAM MICROSOFT DEVELOPER NETWORK ACADEMIC ALLIANCE MSDN AA

Automatyczna instalacja oprogramowania.

Historia systemów operacyjnych - Unix

egroupware czy phpgroupware jest też mniej stabilny.

Kryteria oceniania z Technologii Informacyjnej

Rodzaje licencji Program komercyjny

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

Aplikacje biurowe pakiet Microsoft Office kurs podstawowy

Klasa I. 1. Komputer wśród nas 2 godz Bezpieczeństwo i higiena pracy przy komputerze.

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

edycja 1 opracowany zgodnie z Zarządzeniami Wewnętrznymi PWr. nr 14/2012 i 15/2012 i 34/2012

KATALOG PRZEDMIOTÓW (PAKIET INFORMACYJNY ECTS) KIERUNEK INFORMATYKA STUDIA PIERWSZEGO STOPNIA

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Sieciowe dyski wirtualne oraz VM platforma jako usługa. Bogusław Kaczałek Kon-dor GIS Konsulting

WYMAGANIA EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH W KLASIE 4 SZKOŁY PODSTAWOWEJ

Absolwenci kierunków informatycznych

System Kancelaris. Zdalny dostęp do danych

26.X.2004 VNC. Dawid Materna

Instalacja i opis podstawowych funkcji programu Dev-C++

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Kierunek Informatyka. Specjalność Systemy i sieci komputerowe. Specjalność Systemy multimedialne i internetowe

KATALOG MASZYN I POJAZDÓW ROLNICZYCH MASZYNY-3

Prawa autorskie cd. Prawa autorskie. Autorskie prawa majątkowe. Autorskie prawa osobiste

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Budowanie interfejsów do baz danych

Temat 2. Program komputerowy

PEANO. Innowacja pedagogiczna dotycząca wprowadzenia nauki programowania. w Zespole Szkół Nr 6 im. Mikołaja Reja w Szczecinie

Webowy generator wykresów wykorzystujący program gnuplot

Zaplecze materialne Wydziału Filozofii i Socjologii

Programowanie w C. dr inż. Stanisław Wszelak

Praca przejściowa. Sklep internetowy. Tomasz Konopelski ZIP50-IWZ Katowice 2006

PLAN REALIZACJI MATERIAŁU NAUCZANIA Z INFORMATYKI II. Uczeń umie: Świadomie stosować się do zasad regulaminów (P).

KN FEST GNU/Linux. Mateusz Probachta (aka Robal): Linux Łagodne wprowadzenie

Cennik OpenOffice Software Sp. z o. o.

KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Technologia Informacyjna. 2. KIERUNEK: Pedagogika. 3. POZIOM STUDIÓW: Studia stacjonarne I

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

Wolne oprogramowanie. - bądź legalny za darmo

Programowanie komputerów

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Cennik OpenOffice Software Sp. z o. o.

Przykłady wykorzystania edukacyjnych portali internetowych oraz dostępnych tam multimediów

Komputery bezdyskowe - wprowadzenie

1. Podstawowe zasady posługiwania się komputerem i programem komputerowym. 2. Komputer jako źródło informacji i narzędzie komunikacji

Ustawa o ochronie praw autorskich i prawach pokrewnych

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Informacje można uzyskać pod numerem telefonu lub

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna)

Przede wszystkim autor ma oficjalne prawo do autorstwa utworu, rozpowszechniania go pod wyznaczonym pseudonimem, kontroli nad

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Firma Informatyczna ASDER. Prezentacja. Serwer danych lokalnych. Przemysław Kroczak ASDER

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Wykład organizacyjny. Czyli kto i o czym będzie mówił? Jak również co się będzie działo poza wykładem? Dr hab. Jacek Tarasiuk WFiIS, AGH, Kraków

JAK W SYSTEMIE MS WINDOWS PRZYGOTOWAĆ PRACĘ DYPLOMOWĄ W WERSJI PDF?

Liczba godzin. Poziom wymagań ponadpodstawowy

Dokument komputerowy w edytorze grafiki

Informatyka kl. 1. Semestr I

Technologia informacyjna

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Technologia Informacyjna

System zarządzający grami programistycznymi Meridius

Algorytmika i programowanie usystematyzowanie wiadomości

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Tematyka szkoleń z zakresu stosowania technologii informacyjnych w edukacji

1.Przygotowanie komputera do programowania 2. Instalacja Dev-C++

WYKORZYSTANIE KOMPUTERA W EDUKACJI DZIECI W MŁODSZYM WIEKU SZKOLNYM

Transkrypt:

Rola Wolnego Oprogramowania w edukacji Bartosz Wucke Państwowa Wyższa Szkoła Zawodowa w Tarnowie Streszczenie Ta praca ma za zadanie poinformować czytelnika o tym, czym jest Wolne Oprogramowanie, prezentuje ona też kilka jego zastosowań w edukacji. Ponadto przedstawiony jest obecny stan i plany rozwoju oraz użyteczność wolnych aplikacji, które można zastosować w edukacji. Podano też powody, dla których należy zachęcać studentów do rozwoju Wolnego Oprogramowania. Abstract This paper informs, what the free software is and presents several examples of practical application of this software in education. It also describes current progress and plans for near future in development and usablity of applications that could find use in education. Reasons, why students should be encouraged to participate in creating free software are given. Polskie prawo gwarantuje każdemu możliwość darmowej edukacji. Idea jakkolwiek piękna napotyka na poważne przeszkody. Co prawda nie trzeba płacić za naukę, ale nikt nie wątpi, że studiowanie nie jest tanie. Nie należy się oszukiwać student kierunku związanego z informatyką ma znikome szanse na ukończenie studiów, jeżeli nie ma zapewnionego swobodnego dostępu do komputera poza godzinami zajęć. Jeżeli do ceny zakupu własnego komputera dodać cenę oryginalnego oprogramowania, niewielu studentów stać na taki wydatek. Nie należy się więc dziwić, że piractwo komputerowe w środowisku studenckim kwitnie. Jeżeli do zaliczenia semestru trzeba wykonać projekt przy użyciu programu, którego wersja studencka kosztuje 99 dolarów, a poza godzinami zajęć studenci nie mają dostępu do pracowni, w której program jest zainstalowany, to praktycznie skazuje się ich na piractwo. Dla wykładowcy nie stanowi problemu poprosić dyrektora instytutu o zakup 20 licencji takiego programu, a dla tegoż dyrektora zakazać udostępniania pracowni studentom poza godzinami zajęć (bo mogliby coś zepsuć a pieniędzy na zatrudnienie pracownika do pilnowania pracowni brak zostały wydane na licencje). Rzadko jednak ktoś zastanowi się, skąd student weźmie ten program na swój domowy komputer a w końcu uczelnia ma za zadanie nie tylko uczyć, ale i wychowywać!

Gdyby wykładowca zdecydował się na zainstalowanie na komputerach darmowego programu o podobnej funkcjonalności, z pewnością pieniędzy starczyłoby na wiele innych rzeczy a studenci nie łamaliby prawa. Od razu jednak pojawia się pytanie czy może istnieć taki darmowy program. Aż nadto często odpowiedź brzmi tak, a fakt jego nie używania wynika zwykle z niewiedzy, uprzedzeń lub osobistych preferencji wykładowcy. Wśród wielu ludzi wzbudza niewiarę możliwość istnienia programów, które z jednej strony cechuje wysoka użyteczność a z drugiej rozprowadzane są całkowicie za darmo i w dodatku z udostępnionym kodem źródłowym. Lęk przed nieznanym, powiedzenie: Jeśli to nic nie kosztuje to jest warte tyle ile kosztuje oraz podejrzliwość spowodowana znajomością haczyków i ukrytych kosztów jakie zwykle towarzyszą wszystkiemu co darmowe, stanowią barierę przed spróbowaniem nowości. Trzeba zrozumieć, w jaki sposób powstaje przeciętny program typu Free Software, aby pozbyć się tych uprzedzeń. Najpierw pojawia się sytuacja problemowa pracownik firmy, naukowiec, programista lub nawet zwykły użytkownik komputera znający się odrobinę na programowaniu, aby wykonać swoje zadanie musi użyć specyficznego programu. Jeżeli taki program nie istnieje lub kosztuje więcej, niż ta osoba byłaby skłonna za niego zapłacić, to pozostaje napisanie go samemu. Autor pisze go dla siebie, więc dba o to, aby program był wygodny i sprawny. Często zbiera się grupa kilku użytkowników, którzy napotkali na podobny problem, wtedy dzielą się doświadczeniami i opiniami i wiedzą, wspólnie pisząc program. Gdy projekt nadaje się do użytku i spełnia stawiane mu wymagania, problem zostaje rozwiązany. Pozostaje kwestia, co zrobić z programem. Z jednej strony okazał się użyteczny, kosztował sporo pracy i z całą pewnością jest na świecie wielu ludzi, którym jeszcze się przyda. Z drugiej strony marketing, konkurencja, podatki, księgowość, podział zysków i setki innych powodów zniechęcają autora do komercyjnego sprzedawania tego programu. Najprostszym rozwiązaniem jest więc umieszczenie go w sieci tak, aby każdy zainteresowany mógł go swobodnie pobrać. Przy okazji autor umieszcza w sieci kod źródłowy programu, aby jeżeli ktoś natknie się na podobny, lecz nieco inny problem, mógł dostosować program do swoich potrzeb. Często później autor hobbistycznie zajmuje się nadal swoim programem, ulepsza go, poprawia błędy, udziela rad użytkownikom itp. Czasem dzieli się doświadczeniami i wspomaga innych tworzących wolne aplikacje. Nawet jeżeli w danej dziedzinie istnieje już darmowy program, z którym jednak nie jest udostępniany kod źródłowy, znajdują się chętni aby napisać podobną aplikację, do której będzie można wprowadzić własne modyfikacje dostępny będzie kod źródłowy. Często robione jest to dla samej satysfakcji z programowania.

Świetnie. Nasz program znalazł się w sieci. Firma, która sprzedawała jego komercyjny odpowiednik, wykonała sobie jego kopię, opatentowała ją jako swój produkt i zaskarżyła nas do sądu za naruszenie praw autorskich, patentowych, i kradzież ich programu. Takim właśnie wypadkom mają zapobiegać licencje wolnego oprogramowania. Program staje się własnością wspólną całego społeczeństwa. Każdy ma prawo wprowadzać własne poprawki, a jeżeli są one użyteczne to jego poprawiona wersja zyska popularność i zastąpi oryginał. Licencji w ten sposób nałożonej na program nie można już cofnąć. W zależności od zastosowanej licencji program może być w całości lub w części używany jako część większej aplikacji produkowanej komercyjnie. Program ma być dostępny za darmo, można jedynie pobierać opłaty za czynności związane z jego kopiowaniem i dystrybucją. Można natomiast czerpać zyski z usług związanych z nim prowadzić gorącą linię pomocy dla użytkowników, pobierać opłaty za instalowanie, konfigurowanie, obsługę czy wprowadzanie modyfikacji. W tym ostatnim wypadku pracodawca płaci za czas i pracę poświęconą wprowadzaniu ulepszeń, kod wynikowy pozostaje jednak nadal wolny każdy może z niego skorzystać za darmo. Wreszcie, zamiast płacić z osobna firmie produkującej dany typ oprogramowania za prawo do korzystania z niego, kilka dużych firm może umówić się i sfinansować stworzenie własnej wersji takiego programu, a w celu uniknięcia późniejszych konfliktów w kwestii praw własności i zysków, program wydany będzie na licencji free software. Przykładem takiej sytuacji jest projekt finansowany przez kilka największych firm Japońskich OpenQuicktime wydana na licencji GNU wersja systemu Quicktime firmy Apple. Istnieje kilka wersji licencji, według których można wydawać wolne oprogramowanie. Najbardziej znana jest licencja GNU GPL stworzona przez Richarda Stallmana na potrzeby projektu GNU, który potem we współpracy z Linusem Torvaldsem przekształcił się w GNU/Linux, znany dziś jako popularny Linux. Obecnie na szeroką skalę stosuje się dwie wersje licencji GNU GPL: Licencja Gnu wersja druga bardzo poważnie traktuje wolność programu kod programu raz licencjonowany jako GNU nie może legalnie przejść pod inną licencję, ani być używany w całości lub w części których oprogramowaniu na licencji innej niż GNU. Nieco bardziej liberalna jest licencja GNU GPL dla bibliotek pod kilkoma specyficznymi warunkami można je włączać do programów komercyjnych. Jeszcze liberalniejsze są licencje XFree86 i BSD. Nie ograniczają one w ogóle możliwości łączenia programów wolnych i komercyjnych, jedynie określają prawa autorskie i uniemożliwiają zmianę licencji tak licencjonowanego programu.

Często słyszę opinie, że na takiego np. Linuxa jest mało oprogramowania, bo w końcu nikomu nie chce się pracować za darmo. Trudno o błędniejszą opinię. Wystarczy zajrzeć do pierwszego z brzegu archiwum oprogramowania dla Linuxa, a natychmiast można się pogubić wśród dziesiątek tysięcy programów. Prawdą natomiast jest, że na Linuxa niewiele jest wysoce zaawansowanych graficznych aplikacji użytkowych. Praktycznie w każdej dziedzinie coś już powstaje, ale w niektórych wypadkach jest to wczesna faza alfa, w innych nadaje się już zdecydowanie do użytku. Sytuacja zmienia się z miesiąca na miesiąc. Chciałbym zaoszczędzić czasu osobom, które skłonne byłyby do spróbowania wolnego oprogramowania, zwłaszcza wykładowcom i nauczycielom, którzy chcieliby zastosować wolne oprogramowanie w nauczaniu i polecić niektóre programy, moim zdaniem użyteczne do konkretnych zastosowań. Do nauczania Podstaw Informatyki i Technologii Informacyjnych potrzebny jest zwykle pakiet biurowy, programy graficzne i multimedialne i klienckie programy sieciowe. Jeśli chodzi o pakiet biurowy, sprawa jest trudna. Najbardziej zaawansowany, co prawda nie udostępniający źródła ale darmowy pakiet StarOffice 5.2 działa bardzo dobrze pod systemem Windows, sporo gorzej pod Linuxem. Jego otwarty odpowiednik OpenOffice jest niestety na razie w dosyć wczesnej fazie tworzenia i brakuje mu bardzo dużo. Programy typu Klyx czy Abiword bardzo trudno skłonić do generowania polskich liter. Z wolnego oprogramowania cokolwiek do zaoferowania ma na razie tylko KOffice, jednak ciągle należałoby dać mu jeszcze z pół roku na poprawienie błędów. W dziedzinie multimediów wyróżnia się Gimp niezwykle zaawansowany program do grafiki rastrowej. Do prostej grafiki wektorowej polecam Xfig, program nieskomplikowany jednak wystarczający np. do zrobienia ilustracji do książek technicznych. Do zaawansowanej grafiki 3D i raytracingu polecę Moonlight, oraz PovRay, zaś z dziedziny przyjemności dla oka i ucha avifile odtwarzacz plików Divx, xmms odtwarzacz muzyki, odpowiednik znanego Winampa, i gtv nieskomplikowane narzędzie do odtwarzania filmów w formacie mpg. W kategorii aplikacji sieciowej zdecydowanie polecam przeglądarkę Mozilla. Na chwilę obecną stabilnością niemalże nie odbiega od standardu rynkowego, w kwestii wygody obsługi i funkcjonalności jest o duży krok przed konkurencją a ponadto zawiera wbudowane zaawansowane narzędzie do obsługi poczty email i grup dyskusyjnych, niezły edytor html oraz dodany niedawno klient IRC. Obecnie trwają końcowe prace stabilizacyjne dla wersji 1.0.

Na linuxa istnieje kilka wysokiej klasy aplikacji bazodanowych. Poza Adabase nieskomplikowaną bazą danych z zaawansowanym interfejsem graficznym z pakietu StarOffice popularne są MySQL i PostgresSQL pierwsza z nich mała, szybka i nieskomplikowana, druga dorównująca możliwościami i standardem drogim odpowiednikom klasy Oracle. Jeżeli przedmiotem nauczania jest sprzęt komputerowy lub sieć Internet, to najlepiej nie stosować zaawansowanych narzędzi do diagnostyki zwykle wystarczy spojrzeć tylko na wybrane fragmenty systemu operacyjnego lub uruchomić programy konfiguracyjne określonych elementów w odróżnieniu od systemu Windows, który izoluje użytkownika od niezbyt zrozumiałych dla niego pojęć, systemy Linux czy BSD pozwalają w niespotykanych detalach wpływać na pracę systemu i poznawać jego najgłębsze tajniki. Obserwacja przepływu pakietów TCP i ich routingu, przeregulowywanie fabrycznych ustawień szybkości dostępu do twardego dysku, spojrzenie od kuchni na serwery tego samego typu co te, które obsługują największe serwisy internetowe, wprowadzanie własnych modyfikacji do jądra systemu czy podrasowywanie pojemności typowej dyskietki 1.44 stanowią nie tylko doskonałą naukę na temat sprzętu ale i fascynującą przygodę. Na koniec warto wspomnieć o możliwościach programowania przy użyciu free software a tu muszę powiedzieć, że wszelka konkurencja pozostaje daleko w tyle. Już samo istnienie GCC mogłoby przyprawić konkurencję o kompleksy. Jest to kompilator kilku dialektów C i C++ oraz kilku innych języków programowania, o olbrzymich możliwościach kompilacja na inne platformy, zaawansowana optymalizacja kodu, szybkość i bezbłędność czynią z niego najpotężniejszy istniejący kompilator uruchamiany z linii komend. Jeżeli zaś ktoś woli środowisko okienkowe, może użyć nakładki na GCC Rhide, do złudzenia przypominającej środowisko Borlanda. Do projektowania aplikacji okienkowych proponuję wesprzeć się KDeveloperem. Oprócz GCC w systemie można znaleźć kilkadziesiąt do kilkuset innych kompilatorów i interpreterów języków, poczynając od łatwych acz potężnych jak Perl i Python, przez kilka wersji kompilatora Java, języki skryptowe, niejednokrotnie wspomagające tworzenie dialogów aplikacji graficznych jak Pike czy TCL/TK, wersje znanych dawnych języków jak Pascal, Fortran czy Prolog, aż po języki bardzo specyficzne, np. skrypty bc pozwalające na obliczenia matematyczne z dowolną precyzją, jeszcze inne pozwalające na rozmowę ze sprzętem typu modem według żądanego schematu czy językiżarty jak Befunge, w którym pisanie programu przypomina łamigłówkę.

Na koniec mam pewną propozycję: Często zadaniem studentów jest napisanie jakiegoś użytecznego programu. Zwykle po zaliczeniu go, program idzie w zapomnienie. Dlaczego nie opatrzyć go licencją, np. GNU GPL i nie udostępnić go światu? Z pewnoscią nie przyniesie to szkody a fakt, że wielu ludzi chwali sobie korzystanie z naszego narzędzia jest z pewnością doskonałą motywacją do pracy i nauki.