Ncurses

Från Wikipedia
Hoppa till: navigering, sök
Ncurses

Linux-menuconfig.png

ncurses-baserad menu
Utvecklare GNU-projektet
Först släppt 1993 under namnet ncurses
Senaste utgåva 5.9
(4 april 2011)
Utvecklingsstatus Aktiv
Operativsystem POSIX
Typ GUI toolkit
Licens Fri mjukvara (restriktivt)
Webbplats gnu.org/software/ncurses
cmus, en musikspelare baserad på ncurses

Ncurses (new curses) är ett bibliotek som används för att göra TUI-program (Text User Interface). Den hanterar till exempel så att användaren kan placera textsträngar på en angiven yta (x,y). Användaren kan göra menyer till sina program som sedan kan köras genom terminalen.

Historia[redigera | redigera wikitext]

N i Ncurses kommer från ordet new, eftersom Ncuses är en fri mjukvaru klon av System V Release 4.0 (SVr4) curses, som i sin tur var en förbättring över det avslutade projektet 4.4 BSD curses.[1]

Curses[redigera | redigera wikitext]

Det första Curses programbibliotek utvecklats vid University of California i Berkeley, för ett BSD-operativsystem, omkring 1980 för att stödja skärm-orienterade spel. Det använde ursprungligen termcap kod som bl.a användes i texteditorn Vi.[1]

Framgången för BSD curses programbiblioteket uppmuntrade Bell Labs att släppa en förbättrad curses version till deras System III och System V Release 1 Unix-system. Det nya programbiblioteket var mer kraftfullt och istället för att använda termcap, använde den terminfo. men på grund av AT&T's policy för källkodsdistrubering hade denna förbättrade cursesversion inte mycket acceptans i BSD communityn.[1]

Pcurses[redigera | redigera wikitext]

Runt 1982 började Pavel Curtis arbeta på en freeware-klon av Bell Labs curses, pcurses, som underhölls av olika människor fram till 1986.[2]

Ncurses[redigera | redigera wikitext]

Pcurses programbibliotek förbättras ytterligare när Zeyd Ben-Halim tog över utvecklingsarbetet i slutet av 1991.[1][2] Det nya programbiblioteket släpptes som ncurses i november 1993, och med version 1.8.1 som den första större versionen. Efterföljande arbete, genom version 1.8.8 (1995), drevs av Eric S. Raymond, som lagt till form och menykod skriven av Juergen Pfeifer.[3] Sedan 1996 har ncurses underhållits av Thomas E. Dickey.[2]

Licens[redigera | redigera wikitext]

Ncurses är del av GNU-projektet, det är ett av endast ett fåtal GNU-filer som inte är släppt under GNU GPL eller LGPL; det är istället släppt under en licens som liknar MIT License[4], "permissive free software licence". Detta är på grund av de krav som ställdes när ncurses utvecklarna skrev över programmet i Free Software Foundations ägor.

När avtalet gjordes att överföra rättigheterna till FSF fanns det en klausul som löd ungefär:

"Stiftelsen lovar att all distribution av programmet, eller något arbete "baserat på programmet", som äger rum under kontroll av stiftelsen eller dess agenter eller innehavare, skall vara på villkor som uttryckligen och ständigt tillåter någon som har en kopia av det arbete som de villkor gäller och som har korrekt meddelande om dessa villkor, att sprida kopior av det arbete som alla på samma villkor."[4]

Enligt den ansvarige Thomas E. Dickey, hindrar detta nytt omlicensering till GPL i någon version, eftersom det skulle innebära restriktioner för de program som kommer att kunna länka till biblioteken.[4]

Referenser[redigera | redigera wikitext]

Den här artikeln är helt eller delvis baserad på material från engelskspråkiga Wikipedia, Ncurses, 25 februari 2012.

Noter[redigera | redigera wikitext]

  1. ^ [a b c d] Eric S. Raymond (september 1995). ”ncurses: Portable Screen-Handling for Linux | Linux Journal” (på engelska). http://www.linuxjournal.com/article/1124. Läst 25 februari 2012. 
  2. ^ [a b c] Thomas E. Dickey (december 1996). ”NCURSES - New Curces” (på engelska). http://invisible-island.net/ncurses/. Läst 25 februari 2012. 
  3. ^ ”NCURSES - Frequently Asked Questions (FAQ): Who wrote NCURSES?” (på engelska). http://invisible-island.net/ncurses/ncurses.faq.html#who_did_it. Läst 25 februari 2012. 
  4. ^ [a b c] ”NCURSES - Frequently Asked Questions (FAQ): Is it GPL'd?” (på engelska). http://invisible-island.net/ncurses/ncurses.faq.html#is_it_gpl. Läst 25 februari 2012. 

Externa länkar[redigera | redigera wikitext]