공개소프트웨어 가이드 a Guide to Open Source Software

Total Page:16

File Type:pdf, Size:1020Kb

공개소프트웨어 가이드 a Guide to Open Source Software 공개소프트웨어 가이드 A Guide to Open Source Software 2006 1 정보통신부 공개소프트웨어 가이드 요 약 문 1. 제 목 "공개소프트웨어 가이드" 발간 2. 발간의 목적 및 필요성 본 가이드의 목적은 공개소프트웨어 대한 이해를 높이고 공개소프트 웨어에 대한 우려와 현실을 객관적으로 분석하여 공개소프트웨어 도 입시 필요한 검토사항 및 위험요소 분석, 관리방안 등을 수립하는데 도움을 주기 위함이다. 3. 주요 내용 제1장 "서론"에서는 공개소프트웨어의 이해를 높이기 위한 부분으 로써 공개소프트웨어의 정의, 역사, 그리고 비공개소프트웨어와의 비 교분석을 다루고 있으며 또한 현재 국내 공개소프트웨어 비즈니스 모 델에 대한 소개와 관련업체들에 대해 다루고 있다. 1950년대부터 본 격적으로 시작된 소프트웨어는 그 당시의 여러 가지 의미와 개념들이 지금과는 사뭇 다른 모습을 하고 있다는 것을 알게 된다. 공개소프트웨어에 대한 정확하고 객관적인 정의와 소프트웨어 산업 적인 측면의 의미를 이끌어 내기 위하여 공개소프트웨어를 역사적인 관점으로 정리하였다. 그리고 공개소프트웨어 또는 자유소프트웨어 그리고 비공개소프트웨어, 독점소프트웨어, 사유소프트웨어 등 혼란스 러운 여러가지 용어들에 대하여 설명하고 이를 간략하게 정리하였다. - i - 공개소프트웨어 가이드 또한 비공개소프트웨어와의 차이점을 비교분석하고 분석결과를 간 략하게 도표로 정리하였으며 공개소프트웨어를 보다 객관적으로 이해 하는데 도움이 되도록 하였으며, 공개소프트웨어 기반의 비즈니스모 델을 소개하고 국내 공개소프트웨어 관련 산업에 대해 간략하게 분류 하고 소개하였다. 제2장에서는 공개소프트웨어에 대한 불필요한 오해들에 대하여 사 실과 진실을 객관성 있게 전달하고 있으며 크게는 공개소프트웨어의 비용에 대한 부분, 기술지원 및 가용성 부분, 소프트웨어 신뢰도 부분 그리고 완성도 및 수명의 4가지 부분으로 나누어서 오해에 대한 진실 을 정확하게 전달하고 있다. 공개소프트웨어의 라이센스 비용에 대해서는 주로 도입 시 발생하 는 라이센스 비용과 총소유비용(TCO)에 대해 잘못 이해할 수 있는 부분을 설명하였다. 특히 "자유소프트웨어"라는 용어의 "자유"라는 단 어에서 비롯되는 여러 가지 불필요한 오해들(경제적인 무비용(free)이 라는 의미와 자유롭다는 의미의 자유 등에 대한 오해들)에 대하여 보 다 정확한 의미전달을 하고 있다. 또한 공개소프트웨어의 사상(자본 주의와 공산주의)적인 오해에 대해서도 간략하고 분명하게 진실을 이 야기하고 있다. 그리고 공개소프트웨어의 기술지원 및 가용성 부분의 불필요한 오 해들에 대해서도 진실을 전달하고 있으며 특히 기술지원부분에서 무 조건적으로 신뢰하지 않는다는 것은 그 만큼 공개소프트웨어에 대해 정확히 인지하지 못하였다는 것을 의미하며 인지하지 못한 만큼 또한 오해하고 있었다는 것을 의미한다. - ii - 공개소프트웨어 가이드 제3장 "공개소프트웨어 도입유형 및 절차"에서는 3가지 도입유형 (직접선택, 간접공급, 내부개발)을 설명하였으며 특히 현실적으로 가 장 일반적이고 보편적인 도입방법인 간접공급에 대해서 특징, 장점, 단점 등을 깊이 있게 설명하고 있다. 그리고 일반적인 정보화사업 추진절차에 준하는 시스템 및 소프트 웨어 도입절차에 따른 표준화, 객관화를 위한 검토사항들을 설명하고 있다. 특히 소프트웨어 도입 시에 제안요청서상의 특정 운영체제 명 시, 특정 스펙명시, 특정 조건을 제시하는 등의 비표준, 불공정 소지 가 있는 부분에 대하여 객관성과 공정성 유지 방안을 제시하, 공공기 관의 정보시스템 구축시 필요한 고려사항과 실제 공개소프트웨어 기 반으로 시스템 적용에 필요한 권고사항을 설명하였다. 또한 공개소프트웨어를 도입하기로 결정하였을 경우에 어떠한 부분 을 고려해야하는가에 대한 "공개소프트웨어 도입 시 고려사항"들을 현실적인 부분을 고려하여 10여 가지 부분으로 나누어 자세히 설명한 다. 제4장 "위험분석 및 관리"편에서는 공개소프트웨어 도입에 따르는 위험요소 분석과 관리방법들을 다루고 있으며 "경쟁 유효성", "보증문 제", "소스코드 가용성"이라는 3가지 부분의 위험요소를 분석하고 이 를 관리하는 방안을 제시하였다. 경쟁 유효성 부분에서는 공급업체의 신뢰성과 경쟁력 확보여부, 공개소프트웨어 자체의 경쟁력 확보여부, 기능성 및 사용 편의성 등에 대한 경쟁력 확보여부, 비용절감의 경쟁 력 확보 여부 등을 주로 다루었다. - iii - 공개소프트웨어 가이드 그리고 보증문제는 라이센스와 법적인 문제까지 결부될 수 있는 매 우 민감한 사안으로써 보증의 결여에 따른 도입기관의 대처문제, 도 입하는 공개소프트웨어의 라이센스 문제 등에 대해서도 상세히 설명 하였다. 그리고 도입 시 소스코드를 확보해야하는 것은 물론 소스코드의 확 보와 함께 수정 및 재사용, 재배포 권한 문제등도 함께 검토되어야 한다. 도입하는 공개소프트웨어의 소스코드를 확보하지 못하였거나 수정권한을 얻지 못하였거나 재사용권한을 확보하지 못하였을 때에는 패치 및 업그레이드를 하지 못하는 상황이 발생 가능하다. 결국 이로 인하여 확장성, 영속성, 안정성 등이 보장되지 않을 수도 있다. 그리고 위험 관리방법과 위험 완화방법을 "도입 유형별 위험평가", "기술로드맵 평가", 위험완화를 위한 검토사항"으로 나누어 설명하였 다. 특히 직접선택 방법에서는 직원들의 개발능력이 검토되어야하며 프로젝트 수행경력과 능력이 있는 내부직원이 확보되어야 한다. 반면 간접공급방법에서는 공급업체의 신뢰성과 라이센스 문제를 고려하여 야 한다. 정부부처 등 공공기관은 간접공급 방식으로 도입하는 것이 가장 안정적인 공개소프트웨어 도입방식이며 이 때 비용이 발생하는 점을 고려해야 하며 이때, 공급업체의 기술지원 능력과 서비스 능력 도 함께 고려되어야 한다. 그리고 위험요소에 따른 위험완화를 위한 검토사항들이 있으며 이 들에 대하여 본문에서는 10 여가지의 검토사항들을 제시하고 있으며 공개소프트웨어를 도입하기로 하였다면 최소한 10 여가지의 검토사항 들은 기본 점검을 해야 한다. - iv - 공개소프트웨어 가이드 제5장에서는 공개소프트웨어의 법률문제를 다루었다. 공개소프트 웨어와 관련된 법률문제는 주로 라이센스로부터 발생하는 것이기 때 문에 GPL, LGPL, BSD License, MPL등 몇 가지 주요 라이센스에 대하여 알아두어야 한다. 그리고 이들 라이센스가 적용되었을 때에 발생하는 여러가지 법적인 문제들에 대해서도 설명하였으며 도입 후 재배포에 따른 유형별 법적문제들을 설명하고 있다. 공개소프트웨어의 라이센스 종류가 지나치게 많아지고 있다는 점을 사용자들은 매우 혼란스러워하며 또한 이에 대한 위험요소를 가중시 킨다고 불평하기도 한다. 하지만 라이센스의 수적 증가는 현실적인 요구에 의한 것으로써 공개소프트웨어가 활성화 될수록 이 요구는 더 욱 많아질 것이다. 이에 대한 OSI가 관리하고 있는 라이센스 리스트 에 추가되는 것을 현재로서는 막을 방법이 없다. 이보다 더한 위험요소는 법적문제 발생에 따른 GPL의 해석과 적용 범위의 문제이다. 즉, 계약의 성립여부와 그 계약의 유효성, 저작권과 계약의 관계, 준거법과 재판관할, 그리고 저작인격권, 전송권 등에 대 하여 해석과 적용범위를 명확히 해야 할 필요가 있다. 그리고 보증문 제에 따른 법적문제도 흔히 발생하는 것으로 도입 시에 주의해야 할 사항이다. 그리고 공개소프트웨어를 도입하고 이를 수정하여 확장적용하고 타 기관에 재배포하는 각각의 시나리오에 따른 법적문제도 검토되어야 한다. - v - 공개소프트웨어 가이드 4. 기대효과 및 활용 공개소프트웨어 도입과 활용은 점점 늘어가고 있다. 반면 도입기관 에서는 공개소프트웨어의 정확한 이해가 부족할 뿐 아니라 공개소프 트웨어의 도입방법과 그에 따르는 위험요소, 그리고 완화방법, 뿐만 아니라 공개소프트웨어의 라이센스 문제와 그에 따른 법적인 문제들 파악하고 싶어도 이에 대한 전문 안내서가 부족한 실정이다. 따라서 이에 대한 필요성이 제기되어 왔었다. 본 안내서는 이러한 요구환경 을 배경으로 제작되었으며 객관적인 시각을 통해 바라본 공개소프트 웨어의 진실들을 있는 그대로 전달하고자 노력하였다. 본 안내서는 기관들의 공개소프트웨어 도입에 따른 사전 지식과 도 입 후에 필요한 관리지식뿐 아니라 법적인 문제 발생 예방과 문제발 생시 대처능력을 확보하고 무엇보다 공개소프트웨어의 도입결정에 따 른 유용한 안내서 역할을 충실히 할 것으로 기대한다. - vi - 공개소프트웨어 가이드 <제목 차례> 1장. 서 론 1 1. 공개소프트웨어의 이해 3 가. 공개소프트웨어의 기원과 역사 3 나. 공개소프트웨어 정의 7 다. 비공개소프트웨어와의 비교 8 2. 공개소프트웨어 산업 개관 13 가. 공개소프트웨어 비즈니스 모델 13 나. 공개소프트웨어 산업 현황 14 2장. 공개소프트웨어에 대한 오해와 진실 21 1. 비용 문제 23 2. 기술지원 및 가용성 25 3. 공개소프트웨어의 신뢰도 30 4. 완성도 및 수명 34 3장. 공개소프트웨어 도입유형 및 절차 37 1. 도입유형 39 가. 직접선택 42 나. 간접공급 45 다. 내부개발 48 라. 종합비교 52 2. 도입절차 53 3. 적용시스템 57 가. 시스템 유형 57 - vii - 공개소프트웨어 가이드 나. 시나리오별 도입 방법 59 다. 적용 가능분야 62 4. 고려사항 64 4장. 위험분석 및 관리 70 1. 위험요소 분석 72 가. 경쟁 유효성 72 나. 보증문제 74 다. 소스코드의 가용성 78 2. 위험관리 및 완화방법 80 가. 도입유형별 위험평가 80 나. 기술로드맵 평가 86 다. 위험완화를 위한 검토사항 89 5장. 법률문제 93 1. 라이센스 유형 95 가. GPL 95 나. LGPL 98 다. MPL 98 라. BSD License 95 2. 법적문제 100 가. 라이센스의 위험성 평가 101 나. GPL의 해석과 적용범위 103 다. 계약의 성립여부 및 유효성 105 라. 저작권과 계약의 관계 105 마. 특허 106 바. 상표 106 - viii - 공개소프트웨어 가이드 사. 보증 책임의 범위 107 아. GPL로의 소스코드 공개방법 107 3. 사용유형별 법적문제 검토 108 참 고 문 헌 113 부록1. 신뢰성이 높은 공개소프트웨어 121 부록2. 비공개 소프트웨어 대 공개소프트웨어 안내 129 부록3. 공개소프트웨어 리소스 140 부록4. GNU 일반 공중 사용 허가서(2판) 142 - ix - 공개소프트웨어 가이드 <표 차례> <표 1> 비공개소프트웨어와 공개소프트웨어 비교 11 <표 2> 공개소프트웨어와 상용소프트웨어 비교 12 <표 3> 공개소프트웨어 도입 절차 44 <표 4> 직접선택방식 도입 전 체크리스트 45 <표 5> 공개SW도입방식에 따른 비교 52 <표 6> 공개SW도입을 위한 주요 검토 사항 53 <표 7> 비표준, 특정기술 조건 예 54 - x - 공개소프트웨어 가이드 <그림 차례> <그림 1> 공개소프트웨어 간접공급 유형 46 <그림 2> 웹기반 정보시스템 구조 59 <그림 3> 웹서버 운영체제 공개SW 도입 60 <그림 4> 웹서버, 웹 어플리케이션 서버 운영체제 공개SW 도입 61 <그림 5> 3계층 서버 운영체제 공개SW 도입 62 - xi - 1장. 서론 1장. 서 론 - 1 - BLANK - 2 - 1장. 서론 1. 공개소프트웨어의 이해 가. 공개소프트웨어 기원과 역사 공개소프트웨어는(Open Source Software) 1984년 자유소프트웨어 (Free Software)운동으로부터 분화하여 현재에 이르렀으며1), 2000년 이후 전 세계의 정부기관과 민간단체에서는 공개소프트웨어의 효율성 과 발전성에 대하여 확고한 의지를 가지고 정책추진과 사업화를 시도 하고 있다. 국내에서도 2002년부터 공개소프트웨어 정책추진을 위한 본격적인 사업을 착수하여 현재 그 성과를 보이고 있다. 자유소프트웨어 운동(Free Software Movement)은 1984년 리차드 스톨만(Richard Stallman)이 GNU2)라는 공개프로젝트를 시작하면서 부터 시작되었으며 리눅스와 함께 자유소프트웨어 운동도 발전하였는 데, 이 과정에서 "자유(Free)"라는 용어에 대한 실용주의적 관점에서 의 비판이 이루어지고 공개소프트웨어 운동(Open Source Software Movement)이 시작되었다. 자유소프트웨어 운동 진영은 소프트웨어 자체는 항상 윤리적, 도덕 적, 사회적으로 타당해야함을 강조하면서 소프트웨어 사용자들에게 이를 바탕으로 한 사용상의 여러 가지 자유3)가 주어져 있음을 또한 강조하고 있다4). 1) 자유소프트웨어와 공개소프트웨어는 그 역사를 함께 해오고 있으며 같은 개념으로 보는 견해도 있다. (http://www.debian.org/intro/free 참조) 2) GNU는 "Gnu is not Unix"의 재귀적 표현임 3) 여기서 자유는 첫째, 어떤 목적으로도 프로그램을 가동시킬 수 있는 자유 둘째, 필요에 맞 게 소프트웨어를 수정할 자유, 셋째, 무료 또는 유로로 복사본을 재배포할 수 있는 자유 넷째, 전체 공동체가 혜택을 볼 수 있도록 프로그램의 수정본을 배포할 수 있는 자유를 의미한다. - 3 - 공개소프트웨어 가이드 그리고 공개소프트웨어 운동 진영은 이념적 측면보다는 개발방식에 초점을 맞춘 접근을 취하고 공개소프트웨어 개발자에게도 경제적인 보상을 제공할 수 있어야 한다는 실용적 측면을 강조한다. 자유소프트웨어는 원칙에 입각한 소스코드의 자유로운 사용이라는 측면을 공개소프트웨어는 사회적 실용성과 경제성에 중심을 두고 소 스코드의 공개라는 측면을 강조한다고 할 수 있다. 공개소프트웨어가 정부의 정책에 반영되기 시작하고 일반인들에게 알려지기 시작한 것은 불과 몇 년 전 부터이다. 공개소프트웨어가 현 재에 이르기까지 어떻게 진화해 왔는가를 살펴보려면 먼저 그 역사를 살펴보아야한다. 공개소프트웨어에 관련된 주요한 사건들을 년대별로 간략하게 정리하였다. o 1950년대 1950년대는 컴퓨터 프로그램의 초기 사용시기로써 모든 프로그램은 공개적으로 개발되고 또한 소스코드도 공개되었다. 즉, 여기서 중요 한 것은 컴퓨터 프로그램의 역사는 공개적으로 개발되기 시작하였고 또한 개발된 소스코드는 공개되었다는 점이다. 이러한 초기 인식이 약 10년 정도 계속되었으나 1950년대 후반부터는 컴퓨터 프로그램이 일부이기는 하지만 판매되기 시작하였다.
Recommended publications
  • BASIC Programming with Unix Introduction
    LinuxFocus article number 277 http://linuxfocus.org BASIC programming with Unix by John Perr <johnperr(at)Linuxfocus.org> Abstract: About the author: Developing with Linux or another Unix system in BASIC ? Why not ? Linux user since 1994, he is Various free solutions allows us to use the BASIC language to develop one of the French editors of interpreted or compiled applications. LinuxFocus. _________________ _________________ _________________ Translated to English by: Georges Tarbouriech <gt(at)Linuxfocus.org> Introduction Even if it appeared later than other languages on the computing scene, BASIC quickly became widespread on many non Unix systems as a replacement for the scripting languages natively found on Unix. This is probably the main reason why this language is rarely used by Unix people. Unix had a more powerful scripting language from the first day on. Like other scripting languages, BASIC is mostly an interpreted one and uses a rather simple syntax, without data types, apart from a distinction between strings and numbers. Historically, the name of the language comes from its simplicity and from the fact it allows to easily teach programming to students. Unfortunately, the lack of standardization lead to many different versions mostly incompatible with each other. We can even say there are as many versions as interpreters what makes BASIC hardly portable. Despite these drawbacks and many others that the "true programmers" will remind us, BASIC stays an option to be taken into account to quickly develop small programs. This has been especially true for many years because of the Integrated Development Environment found in Windows versions allowing graphical interface design in a few mouse clicks.
    [Show full text]
  • Introducción a Linux Equivalencias Windows En Linux Ivalencias
    No has iniciado sesión Discusión Contribuciones Crear una cuenta Acceder Página discusión Leer Editar Ver historial Buscar Introducción a Linux Equivalencias Windows en Linux Portada < Introducción a Linux Categorías de libros Equivalencias Windows en GNU/Linux es una lista de equivalencias, reemplazos y software Cam bios recientes Libro aleatorio análogo a Windows en GNU/Linux y viceversa. Ayuda Contenido [ocultar] Donaciones 1 Algunas diferencias entre los programas para Windows y GNU/Linux Comunidad 2 Redes y Conectividad Café 3 Trabajando con archivos Portal de la comunidad 4 Software de escritorio Subproyectos 5 Multimedia Recetario 5.1 Audio y reproductores de CD Wikichicos 5.2 Gráficos 5.3 Video y otros Imprimir/exportar 6 Ofimática/negocios Crear un libro 7 Juegos Descargar como PDF Versión para im primir 8 Programación y Desarrollo 9 Software para Servidores Herramientas 10 Científicos y Prog s Especiales 11 Otros Cambios relacionados 12 Enlaces externos Subir archivo 12.1 Notas Páginas especiales Enlace permanente Información de la Algunas diferencias entre los programas para Windows y y página Enlace corto GNU/Linux [ editar ] Citar esta página La mayoría de los programas de Windows son hechos con el principio de "Todo en uno" (cada Idiomas desarrollador agrega todo a su producto). De la misma forma, a este principio le llaman el Añadir enlaces "Estilo-Windows". Redes y Conectividad [ editar ] Descripción del programa, Windows GNU/Linux tareas ejecutadas Firefox (Iceweasel) Opera [NL] Internet Explorer Konqueror Netscape /
    [Show full text]
  • Cab Programming Manual
    Product Marking 1 1 A+ series Mach 4 PX Print Module XD4 Programming Manual J-Script and abc for cab printers Edition 7.0 cab Produkttechnik GmbH & Co KG 1 2 2 JScript - the programming language for cab printers. The usage of all described functions in this manual requires firmware version 3.17 or higher. This is a generic manual which describes the commands for different printer models,which means that it may contain descriptions or explanations of features which are not available on every printer model. cab Produkttechnik GmbH & Co KG 2 3 3 cab Programming Manual valid for following printer types: A+ -Series TM XD4 -Series TM Mach 4 TM PX -Print Module TM and all printing systems based on the cab „X2“ board copyright © cab Produkttechnik GmbH & Co KG all rights reserved No parts of this manual may be copied, rewritten or used for anything else than for original cab printers. This interdicts the usage of the manual for OEM products unless you have a written permission. The cab printers command language is owned and copyrighted by cab Produkttechnik GmbH & Co KG cab Produkttechnik GmbH & Co KG Wilhelm Schickard Str. 14 76131 Karlsruhe / Germany Tel: +49 - 721-6626-0 Fax:+49 - 721-6626-239 Email: [email protected] http://www.cabgmbh.com All registered trademarks or product names are trademarks of their respectives companies SwissTM is registered Trademark of Bitstream Inc. cab Produkttechnik GmbH & Co KG 3 4 4 Table of contents copyright © cab Produkttechnik GmbH & Co KG..................................................................................
    [Show full text]
  • Deep Scrutiny of Compilers in Industry with Estimating on Conglomerate Factors
    JOURNAL OF CRITICAL REVIEWS ISSN- 2394-5125 VOL 7, ISSUE 11, 2020 Deep scrutiny of compilers in industry with estimating on conglomerate factors Dr Sandeep Kulkarni 1, Prof(Dr) K P Yadav 2 1,2Sangum University, Bilwara, Rajasthan [email protected], [email protected] Received: 05 May 2020 Revised: and Accepted: 15 July 2020 ABSTRACT: As to understand the basic knowledge of compilers , various types of compilers in the programming world ,we will study in detail the compilers available in various languages. As we are going to study their compilers working usage for which they have used in various companies in software industries. M- DOS with Microsoft windows uses Borland C++ compilers with the help of any C and C++Integrated development environment tool. As it is advance version when compared to Turbo C++ it known for good performance in debugging purpose so for this Turbo debugger and this software is written mode of DOS which is protected.There are set of library which is helpful for building graphical windows projects known as Object windows library . With the C++ program DOS applications is created. Applications such as pop up boxes, application top menus, dialog boxes for this turbo vision is used. Applications presenting in 2 dimensional drawing. Borland graphics libraries CGA and VGA , it also supports third party supporting classes and also video libraries. Industries supporting or developing these kind of applications are GSN Consulting, Einfochips Limited. So will have detailed study on programming language used in industry on compiler based performances. KEYWORDS: Deep scrutiny of compilers in industry with estimating on conglomerate factors I.
    [Show full text]
  • Panorama of GUI Toolkits on Haiku
    Panorama of GUI toolkits on Haiku From ncurses to Qt5 François Revol [email protected] Haiku ● Free Software rewrite of BeOS ● An Operating System for the desktop ● A lot of POSIX – But we don't claim to be Unix® ● Some more funny things – Typed & indexable xattrs Native GUI ● InterfaceKit – C++ API (similar to Qt) – BMessage objects ● Multithreaded – 1 message loop / window + 1 app main thread ● Few bindings – yab (yabasic port) Toolkit Pros/Cons ✔ More apps, less work ✗ Never completely ✔ More potential users native ✔ More devs? ✗ No Scripting support ✗ hey Foo get Frame ✔ It can be done right of View … ✗ Screen reader… ✗ Less incentive for native apps Toolkit usage in Debian GNU/Linux ● for t in $(debtags cat | tr ' ,' '\n\n' | grep uitoolkit:: | sort | uniq); do echo -en "$t\t"; debtags search $t | wc -l; ● done Whatever TODO uitoolkit::athena 92 means uitoolkit::fltk 25 uitoolkit::glut 23 ● uitoolkit::gnustep 41 Probably not the best uitoolkit::gtk 2024 metric anyway uitoolkit::motif 53 uitoolkit::ncurses 757 uitoolkit::qt 965 uitoolkit::sdl 488 uitoolkit::tk 135 uitoolkit::TODO 52 uitoolkit::wxwidgets 117 uitoolkit::xlib 254 ncurses █████ ● So what, it's a toolkit � ● Works not too bad hdialog ████▒ ● Native implementation of [x]dialog ● Some missing features ● Shanty is a similar app (Zenity clone) SDL 1.2 █████ ● Of course! SDL 2 █████ ● What Else?™ nativefiledialog █████ ● Native file selectors for Win32, GTK+3, OSX ● Ported during GCI 2014 ● For use with SDL/SDL2/… LibreOffice (VCL) █▒▒▒▒ ● Visual Class Libraries ● LibreOffice / OpenOffice's own GUI toolkit – Is it used anywhere else? IUP █▒▒▒▒ ● Multi-platform GUI toolkit – GTK+, Motif and Windows – “Bindings for C, Lua and LED – Uses native interface elements – Simplicity of its API” ● WIP port by Adrien Destugues (PulkoMandy) wxWidget ▒▒▒▒▒ ● Is this still in use? ● Oh, I need it for KiCAD! ● Port started long ago, nothing usable yet.
    [Show full text]
  • Secure Content Distribution Using Untrusted Servers Kevin Fu
    Secure content distribution using untrusted servers Kevin Fu MIT Computer Science and Artificial Intelligence Lab in collaboration with M. Frans Kaashoek (MIT), Mahesh Kallahalla (DoCoMo Labs), Seny Kamara (JHU), Yoshi Kohno (UCSD), David Mazières (NYU), Raj Rajagopalan (HP Labs), Ron Rivest (MIT), Ram Swaminathan (HP Labs) For Peter Szolovits slide #1 January-April 2005 How do we distribute content? For Peter Szolovits slide #2 January-April 2005 We pay services For Peter Szolovits slide #3 January-April 2005 We coerce friends For Peter Szolovits slide #4 January-April 2005 We coerce friends For Peter Szolovits slide #4 January-April 2005 We enlist volunteers For Peter Szolovits slide #5 January-April 2005 Fast content distribution, so what’s left? • Clients want ◦ Authenticated content ◦ Example: software updates, virus scanners • Publishers want ◦ Access control ◦ Example: online newspapers But what if • Servers are untrusted • Malicious parties control the network For Peter Szolovits slide #6 January-April 2005 Taxonomy of content Content Many-writer Single-writer General purpose file systems Many-reader Single-reader Content distribution Personal storage Public Private For Peter Szolovits slide #7 January-April 2005 Framework • Publishers write➜ content, manage keys • Clients read/verify➜ content, trust publisher • Untrusted servers replicate➜ content • File system protects➜ data and metadata For Peter Szolovits slide #8 January-April 2005 Contributions • Authenticated content distribution SFSRO➜ ◦ Self-certifying File System Read-Only
    [Show full text]
  • Abc Basic Compiler for Cab Printers
    a-Series basic compiler Date: 01. 09. 2011 abc is a command subset from a BASIC version called „Yabasic“ (at the moment V2.722). Except from the restrictions listed below it is 100% compatible to it, so you can use the original binaries to test your programs under Windows or Linux (downloads and documentation from www.yabasic.de). Requirements: – Running abc needs at least 300 kByte of free memory to work smoothly. Parts of this memory are not being released after finishing the program, so restarting abc is faster. Restrictions: – No mouse functions (touch coordinates on EOS are mapped to MOUSEX and MOUSEY commands) – Window functions work differently (no single window on big screen, but mapping of window to LCD possible) – No PRINT AT – No COMPILE, no libraries – No BEEP and BELL, however new X2-based machines have SOUND „name“ command to play sounds – A/A+ only: abc and JScript work with cooperative multitasking, i.e. a complex JScript command can delay abc commands and vice versa – The content of a file has priority over abc output to JScript. This way abc can e.g. send „M l lbl;sample“ to JScript. However this means that when a file is executed from card abc output is delayed until the file has been completely read and closed by Jscript! Import differences to Yabasic PC versions: – To switch off the ESC command interpretation of JScript you can use POKE „transparent“,0 or 1. However all data which is already in the input buffer (64 kwords on A/A+, variable on EOS) has been filtered.
    [Show full text]
  • Liste De Langages De Programmation
    Liste de langages de programmation Le but de cette liste de langages de programmation est d'inclure tous les langages de programmation existants, qu'ils soient actuellement utilisés ou historiques, par ordre alphabétique. Ne sont pas listés ici les langages informatiques de représentation de données tels que XML, HTML ou YAML. Par ailleurs, cette liste répertorie les langages de programmation, et non leurs implémentations -ou "Framework"- (par exemple : JRuby et IronRuby sont deux implémentations différentes du même langage Ruby). Sommaire : Haut - A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A A+ A++ A# .NET ou A# (Axiom) A-0 System ABAL ABAL++ ABAP ABC ABCL/1 ABCL/c+ ABCL/R ABCL/R2 Abel ABSET ABSYS ALI Abundance ACC Accent ActForex Ace DASL ACT-III Ada Adenine Afnix Agora AIS Balise Aikido Alef ALF Algol Alice Ambi Amiga E AML AMOS AMPLE Anubis APDL APL AppleScript Arc Arduino Ariberion Arobase (langage) Assembleur ASP.NET ATS AutoHotkey AutoIt Averest awk axe parser Axum B B BASIC BASH Bat Batch binaire bc BCPL BeanShell Befunge Bennu Bertrand BETA Bigwig Bistro BitC BLISS BLITZ BASIC BluePrint (utilisé dans Unreal Engine) Blue Bon Boo Boomerang BPEL Brainfuck BUGSYS BuildProfessional C C C-- C++ C# C/AL Caché ObjectScript Cameleon Caml Cat Cayenne Cecil Cel Cesil Ceylon CFML Cg Ch interpreter (C/C++ interpreter) Chapel (en) CHAIN Charity Chef CHILL CHIP-8 chomski CHR Chrome ChucK CICODE CICS CIL Cilk CL (Honeywell) Claire Clarion Clean Clipper CLIST Clojure CLU CMS-2 COBOL CobolScript Cobra CODE CoffeeScript Cola ColdC ColdFusion
    [Show full text]
  • File Extensions
    # File Extensions File types with extensions that start with a number or symbol. Extension File Type File Description .!ut Misc uTorrent Incomplete Download .$$$ Backup Temporary File .$01 Developer DOS Pipe File .$db Backup dBASE Temporary File .$er Data GroupWise Database .0 Compressed Hacha Split Archive File .0 Game M3 DS Real Save File .000 Misc Windows CE Installation Data File .000 Disk Virtual CD ISO File .000 Compressed DoubleSpace Compressed File .001 Image Fax File .001 Backup HJSplit Split Archive .001 Misc 001 File Manager Split File .001 Developer Multimedia Fusion Backup File .001 Game Snes9x Slot 2 Saved State .001 Backup Norton Ghost Disk Backup .001 Misc 001 File Joiner & Splitter File .001 Misc SplitJoin Split File .0xe Executable F-Secure Renamed Virus File .113 Backup Iomega Backup File .123 Data Lotus 1-2-3 Spreadsheet .123 Data PCB123 Circuit Board Design .1pe Data TurboTax Form File .1ph Data TurboTax File .1st Text Readme File .256 Settings Descent 2 Color Palette File .2bp Raster Image Pocket PC Bitmap Image File .2d Image VersaCAD 2D Drawing .2mg Disk Apple IIGS Disk Image .386 System Windows Virtual Device Driver .3d Image Stereo CAD-3D Image File .3d2 Image Stereo CAD-3D 2.0 Image File .3d4 3D Image Stereo CAD-3D 2.0 Image File .3da Image 3D Assembly .3df 3D Image 3D Format .3dl 3D Image LightConverse 3D Model File .3dm 3D Image Rhino 3D Model .3dmf 3D Image QuickDraw 3D Metafile .3dr Data 3DMark Results File .3ds 3D Image 3D Studio Scene .3dt Data 3D Topicscape File .3dv 3D Image 3D VRML World .3dx 3D Image
    [Show full text]
  • Emploi De Programmes Exécutables Comme Pilotes Pour Les Logiciels D'exao (Windows 32 Bits Et Linux)
    Pierre DIEUMEGARD prof de SVT Lycée Pothier F 45044 ORLEANS courriel : [email protected] Emploi de programmes exécutables comme pilotes pour les logiciels d'EXAO (Windows 32 bits et Linux) On a souvent coutume d'opposer Windows, le système d'exploitation commercial de Microsoft, à Linux, le système d'exploitation gratuit. En fait, un certain nombre de recettes sont utilisables dans les deux environnements, et l'on peut développer des logiciels pour l'un ou pour l'autre de ces systèmes. 1 Principe fondamental : utiliser des "pilotes d'appareils de mesure", spécifiques de l'appareil utilisé, pour faire des logiciels généralistes. 1.1 Très (trop ?) grande diversité du matériel Il y a une grande diversité dans le matériel de mesure connectable à un ordinateur : certains appareils sont des cartes à enficher à l'intérieur de l'ordinateur, d'autres sont des appareils à brancher sur une prise sérielle RS232, d'autres sur la prise parallèle, ou bien sur la prise "manettes de jeux", ou sur une prise USB, etc. Certains appareils ne remplissent qu'une fonction, par exemple des pHmètres, d'autres peuvent faire deux types de mesures, par exemple à la fois le pH et la température. Certains peuvent faire des mesures de divers types, mais une seule à la fois, comme les multimètres. Certains systèmes multifonctions (Jeulin ESAO, Orphy...) peuvent réaliser simultanément des mesures sur divers capteurs, et peuvent agir sur le système de mesure en actionnant des relais ou en modifiant la tension (en volts) d'un connecteur spécifique. Lorsqu'un programmeur rédige un logiciel de mesure, il ne peut pas le concevoir d'emblée capable de fonctionner avec tous les appareils ou interfaces de mesure.
    [Show full text]
  • Programming Manual for SQUIX, MACH
    11 1 Edition 9.4- 5.33 22 2 JScript - the programming language for cab printing sytems. The usage of all described functions in this manual requires firmware version 5.33 or higher. This is a generic manual which describes the commands for different printer models,which means that it may contain descriptions or explanations of features which are not available on every printer model. Please refer to the product brochure about the availability of some special features. 33 3 cab Programming Manual valid for following printers: SQUIX -Series TM MACH 4S TM EOS 2 TM EOS 5 TM Hermes Q -Series TM PX Q -Series TM copyright © cab Produkttechnik GmbH & Co KG all rights reserved No parts of this manual may be copied, rewritten or used for anything else than for original cab printers. This interdicts the usage of the manual for OEM products unless you have a written permission. The cab printers command language is owned and copyrighted by cab Produkttechnik GmbH & Co KG cab Produkttechnik GmbH & Co KG Wilhelm Schickard Str. 14 76131 Karlsruhe / Germany Tel: +49 - 721-6626-0 Email: [email protected] http://www.cab.de All registered trademarks or product names are trademarks of their respectives companies SwissTM is registered Trademark of Bitstream Inc. 44 4 Table of contents copyright © cab Produkttechnik GmbH & Co KG ................................................................................... 3 Introduction ..........................................................................................................................................
    [Show full text]
  • Programando En BASIC Con Unix
    LinuxFocus article number 277 http://linuxfocus.org Programando en BASIC con Unix Abstract: by John Perr. ¿Desarrollando con Linux o con otro sistema Unix en BASIC? ¿Por <johnperr(at)Linuxfocus.org> qué no? Varias soluciones libres permiten usar el lenguaje BASIC para desarrollar aplicaciones interpretadas o compiladas. About the author: Usuario de Linux desde 1994, es uno de los editores _________________ _________________ _________________ franceses de LinuxFocus. Introducción Incluso aunque apareció más tarde que otros lenguajes en el ámbito computacional, BASIC rápidamente se extendió a muchos sistemas no Unix como un sustituto a los lenguajes de scripts encontrados nativamente en Unix. Esta es probablemente la razón más importante por la cual este lenguaje es poco usado por la gente de Unix. Unix tenÃ-a un lenguaje de scripts mucho más potente desde su aparición. Como otros lenguajes de scripts, BASIC es en su mayor parte interpretado y utiliza una sintáxis bastante simple, sin tipos de datos, aparte de una distinción entre caracteres y números. Históricamente, el nombre del lenguaje proviene de su simplicidad y del hecho de que permite enseñar fácilmente programación a estudiantes. Desafortunadamente, la falta de estandarización condujo a versiones diferentes la mayorÃ-a incompatibles entre sÃ-. Podemos decir incluso que hay tantas versiones como intérpretes lo que convierte al BASIC en difÃ-cilmente portable. A pesar de estas desventajas y otras que los "verdaderos programadores" nos recordarán, BASIC es una opción a tener en cuenta a la hora de desarrollar pequeños programas.
    [Show full text]