Open Source Programování
Transkript
Přehled OSS projektů Open Source Programování http://rtime.felk.cvut.cz/osp/ Pavel Píša <[email protected]> http://cmp.felk.cvut.cz/~pisa Michal Sojka František Vacek DCE FEL ČVUT © Copyright 20042010, Pavel Píša, Michal Sojka, František Vacek, FreeElectrons.com, GNU.org, kernel.org, Wikipedia.org Creative Commons BYSA 3.0 license Latest update: 26. II 2013 Opensource programování http://rtime.felk.cvut.cz/osp/ 1 Požadavky pro úspěch projektu Základní atributy Svobodná licence Stránky na Internetu a možnost stahování zdarma Uživatelská komunita Aktivní a nepřetržitý vývoj Flexibilita a možnost úprav a rozšiřování Další požadavky Atraktivní, unikátní vlastnosti, užitečnost nebo velká výzva Otevřený a jednoduchý vývoj (neplatí např. Pro Ooorg nebo Mozila) Interoperabilita, dodržování standardů a formátů Alternativa k jiným, hůře dostupným nebo navrženým řešením Cena Jasné vedení, jinak vznikne pouze balast Peníze mohou pomoci, ale nemusí být nezbytnou podmínkou Komunikace – skupiny, Wiki, IRC, fórum, bugzilla, repository Opensource programování http://rtime.felk.cvut.cz/osp/ 2 Architektura (unixových) systémů Graphical user applications Web browser, office, multimedia... Command line applications ls, mkdir, wget, ssh, gcc, busybox, shells (scripts)... User space Shared libraries libjpeg, libstdc++, libxml... C library GNU C library, uClibc... Operating system kernel Linux, Hurd... Hardware and peripherals Kernel Space Hardware Převzato z http://freeelectrons.com/docs/freesw (Michael Opdenacker) Opensource programování http://rtime.felk.cvut.cz/osp/ 3 Spodní vrstvy operačního systému App1 App2 ... User space C library System call interface Process management Memory management Filesystem support Device control Networking Character device drivers Network device drivers Filesystem types CPU support code CPU / MMU support code Storage drivers Kernel space Hardware CPU RAM Storage 4 Opensource programování http://rtime.felk.cvut.cz/osp/ První uživatelsky „přívětivá“ vrstva Zde se projevuje naše vrozená touha komunikovat se vším a to i s operačním systémem a vzhledem k naší HW výbavě nám nezbývá než použít ruce/klávesnici, oči/terminál a pomůcky, které nám zpřístupní ABI a API knihoven a systémových volání GNU/Linux systém se jedná především o GNU core utilities (cat, ls, pwd, rm, tee, wc) UtilLinux (mount, fdisk, setterm atd) Shell Bash Dash Csh 5 Opensource programování http://rtime.felk.cvut.cz/osp/ Příkazová řádka do kapsy BusyBox Obsahuje minimalizované alternativy základních nástrojů od ls, přes init, sh, getty až po minimalizovaný webserver Licence: GPL Velikost binárního souboru: méně než 500kB (uClibc) Použití: ve vestavných zařízeních a během startu v distribucích využívajících initial ramdisk/initramfs Stránky projektu: http://busybox.net Podporované architektury: všechny ARM, CRIS, H8/300, x86, ia64, x86_64, m68k, MIPS, PowerPC, S390, SH3/4/5, Sparc, v850e, a x86_64, … Standard: Open Group Base Standards (SUSv3) Shell and Utilities (http://www.opengroup.org/onlinepubs/009695399/) 6 Opensource programování http://rtime.felk.cvut.cz/osp/ BusyBox – Často se o něm ani neví Instalátory a spouštěcí ramdisky téměř všech distribucí Debian, Red Hat, Slackware, Gentoo, Mandriva, tomsrtbt Vestavné distribuce: Amazon Kindle, OpenWrt, PTXdist a komerční zařízení Dreambox, Linksys WRT54G, NetGear WG602, ASUS WL300g,U.S. Robotics, DLink GSLG604T, Nokia 770, 800, 900, ..., Siemens SE515 DSL router, ZyXEL Routers Často nedodržovaná pravidla GPL licence Monsoon Multimedia Inc. Xterasys Verizon Communications Best Buy, JVC, Samsung Zatím vždy dosaženo urovnání sporu Opensource programování http://rtime.felk.cvut.cz/osp/ 7 GIMP the GNU Image Manipulation Program Aktuální verze: 2.6.8. Licence: GPL Počátek: Spencer Kimball a Peter Mattis, 1995, semestrální projekt, University of California, Berkeley General→GNU, 1997, RMS v Berkley GIMP 0.60 Motif→Gtk, GIMP 0.99 Gtk+ Stránky projektu: http://www.gimp.org/ Větev GIMP 1.0.4 (1998 ) CinePaint až 32bit IEEEFP na každý barevný kanál, podpora HDR – Použitý v mnoha filmech ScoobyDoo, Harry Potter and the Philosopher's Stone, The Last Samurai and Stuart Little, .. GIMP 2.10 již přímo zahrnuje 16/32bit na barevný kanál 8 Opensource programování http://rtime.felk.cvut.cz/osp/ GIMP a GSoC Finished projects examples: oncanvas text editing, tagging of GIMP resources and Python scripting enhancements, 2013 possible proposals: Implement GEGL ops that GIMP need Slicing tool Implement the combined selection tool Make GIMP more suitable for use in VFX pipelines writing the code for importing EXR with settings writing the code for exporting EXR with settings quickly export sets of layers to a file 9 Opensource programování http://rtime.felk.cvut.cz/osp/ Inkscape – raději vektory 1999 Raph Levien – GIL (Gnome Illustration app.) – SVG Sodipodi – Lauris Kaplinski 2003 – Inkscape – Ted Gould, Bryce Harrington, Nathan Hurst, and MenTaLguY – Sodipodi fork, jiný názor na otevřenost, důraz na kompletnost podpory SVG před všeobecným graf. Edit. Zůstává GTK+ aplikace, ale C→C++ Open Clip Art Library – kolekce SVG ikon a grafických děl Již integrované GSoC projekty Přechod kódu na 2Geom geometric algebra, paths, distortions, boolean operations, plotting implicit functions, NURBS Node tool rewrite DBus scripting API Connector tool improvements Projekty pro GSoC 2010 se diskutují, Témat v TODO je však dostatek Opensource programování http://rtime.felk.cvut.cz/osp/ 10 Scribus – opensource DTP Založen: 2001 Licence: GPL Profesionální DTP (SVG, CMYK a ICC, Python scripting) 11. 8. 2009 Scribus 1.3.5 – zásadní update Qt3→Qt4 Dřívější GsoC projekty Improving PDF Export GsoC 2010 Quark QXML import, XPS export/import a další Text to/from Story Editor import/export Rewrite the template system, Speed optimisation Rewrite the table code and create a table editor etc. 11 Opensource programování http://rtime.felk.cvut.cz/osp/ OpenOffice.org Klasický WYSIWYG editor 1984 – German StarDivision (Lüneburg), Marco Börries StarWriter (Zilog Z80 CP/M) 1994 – StarOffice, do verze 4.2 založeny na přenositelné C++ knihovně StarView 1999 – Sun Microsystems za US$73.5 miliónů, SUN měl 42 tisíc zaměstnanců, téměř každý Unix workstation a Windows laptop StarOffice 5.2 volně k dispozici pro osobní použití, později free/opensource Spolupráce s firmami Novell, RedHat, RedFlag CH2000, IBM, Google a množstvím dobrovolníků Redesign na UNO components, XML formát a další OASIS ODF (XML) – OpenOffice v2.0, KOffice a další Licence: CDDL→LGPLv3 (Gooo + LGPL) Systémy: Microsoft Windows, Mac OS X, Linux, BSD, Unix SVG ostuda, GSoC 2008 není pro SUN, podobná Eclipse a IBM Opensource programování http://rtime.felk.cvut.cz/osp/ 12 X11, Xfree86, Xorg 1983 Projekt Athena (DEC, MIT a IBM) – vzdálený přístup, synchronní protokol W 1984 – Bob Scheifler a Jim Gettys, MIT, přepracovali na asynchronní – X1, 5× zrychlení, první nezávislý na HW a dodavateli Principy Přidávat funkce pouze, pokud bez nich nejde aplikace napsat Nesnažit se řešit vše, raději rozšiřitelnost Horší než generalizace je již pouze generalizace bez příkladu Dokud tomu zcela nerozumíš, raději to nedělej Když 10% práce stačí na 90% záměru tak se s tím spokoj Omez složitost jak to jen jde Definuj mechanismy raději než politiku, tu nech na uživateli, aplikaci 1988 – MIT X Consortium 1996 – rozpad, komercializace, X11R6.3 1997 – The Open Group, OSF X/Open, 1998 Xfree86, cathedral 2004 – lidé (Keith Packard a další) z X.Org a freedesktop.org založili X.Org Foundation a X Consortium jim svěřilo doménu X.org 13 Opensource programování http://rtime.felk.cvut.cz/osp/ X11 architektura Accelerated X11 3D and 2D graphics User's workstation Keyboard Screen Mouse X Server X client (browser) X client (xterm) Aplikace Local DRI OpenGL GLX AIGLX xyz_drv.so Xorg/Xserver Network Desktop/WM Compositor Xgl (Xglx∨Xegl) xyz_dri.so Mesa/DRI libdrm libdrvmxyz drm.ko xyz.ko X client (up2date) Remote machine Linux kernel Budoucnost: EGL+Wayland, Gallium3D+DRM+DRI2, KMS, GEM Opensource programování http://rtime.felk.cvut.cz/osp/ 14 Apache http://httpd.apache.org Web server from the Apache Foundation License: Apache license (BSD type) The most popular web server on Internet since April 1996! http://news.netcraft.com/archives/web_server_survey.html Supported platforms: Unix and Windows NT Main developers: community 15 Opensource programování http://rtime.felk.cvut.cz/osp/ MySQL The most popular Open Source database server http://www.mysql.com License: GNU GPL Main developers: MySQL AB Make money on service and on selling commercial licenses Fast and easy to configure Nice market share! Source: JoinVision EServices GmbH, July 2006 http://www.mysql.com/whymysql/marketshare 16 Opensource programování http://rtime.felk.cvut.cz/osp/ LAMP Linux Apache MySQL PHP Popular acronym referring to the successful combination of these 4 technologies to implement dynamic websites. “P” can also stand for other scripting languages, such as Python or Perl. See http://en.wikipedia.org/wiki/LAMP_%28software_bundle%29 17 Opensource programování http://rtime.felk.cvut.cz/osp/ OpenStreetMap License Haiti/Earthquake rescue teams support CCBY SA 2.0 Open Database License (OdbL) JOSM Editor Slippy Map osm2pgsql PostGIS planet.osm XML 160 GiB (7.3GiB bzip2) 18 Opensource programování http://rtime.felk.cvut.cz/osp/ Open Database License (OdbL) You are free: To Share: To copy, distribute and use the database. To Create: To produce works from the database. To Adapt: To modify, transform and build upon the database. As long as you: Attribute: attribute in the manner specified in the ODbL. Keep intact any notices on the original database. ShareAlike: for all database adaptations and all derived works, provide database under the ODbL. Keep open: you can redistribute the database, or an adapted version with technical restrictions (such as DRM) as long as you also redistribute a version without such measures. Opensource programování http://rtime.felk.cvut.cz/osp/ 19 Blender a svobodná filmová tvorba Blender (http://www.blender.org) Otevřený software pro 3D animace Původně interní vývoj holandského NeoGeo studia a Not a Number Technologies (NaN) 1998. Hlavní autor Ton Roosendaa V roce 2002 odkoupen komunitou za €100,000 a licencován pod GPL Použitý i při tvorbě komerčních filmů SpiderMan 2, Friday or Another Day, The Secret of Kells, historické dokumenty … Použitý při svobodné tvorbě – Elephants Dream … Sintel 20 Opensource programování http://rtime.felk.cvut.cz/osp/ Hackerspace BrmLab – Praha (http://brmlab.cz/) Participace na mnoha projektech – Arduino, … Shackspace (http://shackspace.de/) Hackerspace Global Grid (HGG) – propojení s projektem Constellation 21 Opensource programování http://rtime.felk.cvut.cz/osp/ Otevřený hardware Ronja Ronja (http://ronja.twibright.com/) – Reasonable Optical Near Joint Access Otevřený projekt návrhu optických dvoubodových spojů – běžný dosah 1.4km, 10Mbps full duplex 22 Opensource programování http://rtime.felk.cvut.cz/osp/ Další HW projekty DSO Quad (http://www.seeedstudio.com/wiki/DSO_Quad) kapesní čtyřkanálový osciloskop 4 (72MS/s) ARM Cortex M3 (STM32F103VCT6) + FPGA Buspirate – analyzátor sběrnic JTAG, programátor, analyzátor Flash, AVR, ARM, http://dangerousprototypes.com/buspiratemanual/ Neo FreeRunner a GTA04 (http://www.gta04.org) Vývoj open hardware mobilního telefonu 800 MHz TI OMAP3 (ARM Cortex A8), 3D Graphics, 512 MB RAM, 512 MB Flash, MicroSD, HSPA UMTS, GPS, Navigation Sensors, WLAN, Bluetooth, OTG2.0 23 Opensource programování http://rtime.felk.cvut.cz/osp/
Podobné dokumenty
vysoké učení technické v brně tvorba vlastních map z
zdroj zdroj dat pro ČR, důležité je, že zde můžeme stáhnout historická data až do
roku 2007.
Průvodce
tisk a obálka nebyly tak kvalitní jako v současnosti. Teprve od roku 1998 byl pod názvem „KATALOG“ určen pro širší veřejnost a od dalšího roku 1999 nesl již tradiční název „PRŮVODCE NÁVŠTĚVNÍKA“.
B...
Nástroje pro vývoj aplikací a jejich vazba na case
snížení nákladů na vývoj, kvalitnější a lepší návratnost investic, rychlejší využívání nových technologií
a lepší znovu použití již vytvořených modelů. Hlavní myšlenkou je oddělit technické aspekty...
Open Source Programování - Introduction GNU - Real
© Copyright 20042010, Pavel Píša, Michal Sojka, František Vacek,
FreeElectrons.com, GNU.org, kernel.org,
Wikipedia.org, distrowatch.com
Creative Commons BYSA 3.0 license Latest update: 17. V 2...
Open Source Programování
http://rtime.felk.cvut.cz/osp/
Pavel Píša
Elektronická verze - Zpravodaj Československého sdružení
her od Pavla Stříže; o grantovém programu Google Summer of Code a idejích
TUG za poslední dva roky (za překlady děkujeme Marcelu Svitalskému).
Demonstrační robotická platforma - Real-time laboratoř
bylo při návrhu vycházet z konstrukce použité robotickým týmem Flamingos [23] z katedry řídicí techniky při mezinárodní soutěži Eurobot [10] v roce 2010.
Většina součástí hardware i software robotu...
Mobilní zranitelnosti
banky se předhánějí, která nabídne lepší aplikaci
pro smartphone
lidé zadávají přihlašovací údaje do téhož zařízení, do
kterého následně přichází ověřovací zpráva
kompromitace mobilního zařízení ná...