Linux
Kebanyakan komponen tingkat rendah Linux, termasuk GNU Userland, menggunakan CLI secara ekslusif. CLI cocok untuk digunakan pada lingkungan otomasi tugas-tugas yang repetitif atau tertunda, dan menyediakan komunikasi inter-proses yang sangat sederhana. Sebuah program emulator terminal grafis sering digunakan untuk mengakses CLI dari sebuah Linux desktop.
Perbedaan utama antara Linux dan sistem operasi populer lainnya terletak pada kernel Linux dan komponen-komponennya yang bebas dan terbuka. Linux bukan satu-satunya sistem operasi dalam kategori tersebut, walaupun demikian Linux adalah contoh terbaik dan terbanyak digunakan. Beberapa lisensi perangkat lunak bebas dan sumber terbuka berdasarkan prinsip-prinsip "copyleft", sebuah konsep yang menganut
prinsip: karya yang dihasilkan dari bagian "copyleft" harus juga merupakan "copyleft". Lisensi perangkat lunak bebas yang paling umum, GNU GPL, adalah sebuah bentuk "copyleft", dan digunakan oleh kernel Linux dan komponen-komponen dari proyek GNU.
Sistem Linux berkaitan erat dengan standar-standar POSIX, SUS, ISO dan ANSI. Akan tetapi, baru distribusi Linux-FT saja yang mendapatkan sertifikasi POSIX.1.
Proyek-proyek perangkat lunak bebas, walaupun dikembangkan dalam bentuk kolaborasi, sering dirilis secara terpisah. Akan tetapi, dikarenakan lisensi-lisensi perangkat lunak bebas secara eksplisit mengizinkan distribusi ulang, terdapat proyek-proyek yang bertujuan untuk mengumpulkan perangkat lunak-perangkat lunak tersebut dan menjadikannya tersedia dalam waktu bersamaan dalam suatu bentuk yang dinamakan distribusi Linux.
Sebuah distribusi Linux, yang umum disebut dengan "distro", adalah sebuah proyek yang bertujuan untuk mengatur sebuah kumpulan perangkat lunak berbasis Linux dan memfasilitasi instalasi dari sebuah sistem operasi Linux. Distribusi-distribusi Linux ditangani oleh individu, tim, organisasi sukarelawan dan entitas komersial. Distribusi Linux memiliki perangkat lunak sistem dan aplikasi dalam bentuk paket-paket dan perangkat
lunak yang spesifik dirancang untuk instalasi dan konfigurasi sistem. Perangkat lunak tersebut juga bertanggung jawab dalam pemutakhiran paket. Sebuah Distribusi Linux bertanggung jawab atas konfigurasi bawaan, sistem keamanan dan integrasi secara umum dari paket-paket perangkat lunak sistem Linux.
Linux dikendalikan oleh pengembang dan komunitas penggunanya. Beberapa vendor mengembangkan dan mendanai distribusi mereka sendiri dengan dasar kesukarelaan. Debian merupakan contoh yang bagus. Yang lain memiliki versi komunitas dari versi komersialnya seperti yang Red Hat lakukan dengan Fedora.
Di banyak kota dan wilayah, asosiasi lokal yang dikenal dengan nama Kelompok Pengguna Linux ("Linux Users Group" atau LUG) mempromosikan Linux dengan mengadakan pertemuan, demonstrasi, pelatihan, dukungan teknis dan instalasi sistem operasi Linux secara gratis. Ada banyak juga komunitas Internet yang menyediakan dukungan terhadap pengembang dan pengguna Linux. Banyak proyek distribusi dan perangkat lunak sumber terbuka yang memiliki ruang
percakapan IRC atau "newsgroup". Forum daring merupakan bentuk lain untuk mendapatkan dukungan, contoh: LinuxQuestions.org dan forum Gentoo. Distribusi Linux memiliki milis dengan pembagian topik seperti penggunaan atau pengembangan.
Ada beberapa situs web teknologi yang berfokuskan kepada Linux. "Linux Weekly News" adalah sebuah cernaan mingguan dari berita-berita yang berkaitan dengan Linux. Sementara itu Linux Journal merupakan majalah Linux daring yang dirilis setiap bulan. Slashdot adalah situs web berita yang berhubungan dengan teknologi yang memiliki banyak berita tentang Linux dan perangkat lunak bebas. Groklaw memiliki berita mendalam tentang kemajuan Linux
dan memiliki banyak artikel yang berhubungan dengan kernel Linux serta hubungannya dengan GNU dalam proyek GNU. Majalah Linux cetakan umumnya memiliki cakram sampul yang memuat perangkat lunak atau bahkan distribusi Linux lengkap.
Walaupun Linux secara umum tersedia secara gratis, beberapa perusahaan besar menjalani model bisnis yang terdiri dari penjualan, dukungan dan kontribusi terhadap Linux dan perangkat lunak bebas; ini termasuk Dell, IBM, HP, Sun Microsystems, Novell, dan Red Hat. Lisensi perangkat lunak bebas dimana digunakan Linux secara eksplisit mengakomodasi komersialisasi; hubungan antara Linux dan vendor-vendor individual dapat dilihat sebagai suatu simbiosis. Satu
model bisnis yang umum dari pemasok komersial yaitu dengan mengenakan biaya atas dukungan khususnya terhadap pengguna-pengguna kalangan bisnis. Sejumlah perusahaan menawarkan versi bisnis dari distribusi Linux mereka, antara lain berupa dukungan atas paket-paket tak bebas dan alat bantu untuk mengatur sejumlah besar instalasi atau untuk memudahkan tugas-tugas administratif. Model bisnis yang lain adalah dengan memberikan perangkat lunak secara gratis untuk penjualan perangkat keras.
Sebagian besar distribusi Linux mendukung banyak bahasa pemrograman. Koleksi peralatan untuk membangun aplikasi dan program-program sistem operasi yang umum terdapat di dalam "GNU toolchain", yang terdiri atas "GNU Compiler Collection" (GCC) dan "GNU build system". GCC menyediakan kompilator untuk Ada, C, C++, Java, dan Fortran. Kernel Linux sendiri ditulis untuk dapat dikompilasi oleh GCC. Kompilator tak bebas ("proprietary") untuk Linux antara lain adalah Intel C++ Compiler dan IBM XL C/C++ Compiler.
Kebanyakan distribusi juga memiliki dukungan untuk Perl, Ruby, Python dan bahasa pemrograman dinamis lainnya. Contoh bahasa pemrograman yang tidak umum tetapi tetap mendapat dukungan di Linux antara lain adalah C# dengan proyek Mono yang disponsori oleh Novell, dan Scheme. Sejumlah Java Virtual Machine dan peralatan pengembang jalan di Linux termasuk Sun Microsystems JVM (HotSpot), dan J2SE RE IBM, serta
proyek-proyek sumber terbuka lainnya seperti Kaffe. Dua kerangka kerja utama untuk pengembangan aplikasi grafis di Linux adalah GNOME dan KDE. Proyek-proyek ini berbasiskan GTK+ dan Qt. Keduanya mendukung beragam bahasa pemrograman. Untuk "Integrated development environment" terdapat Anjuta,, Eclipse, KDevelop, Lazarus, MonoDevelop, NetBeans, dan Omnis Studio, sedangkan penyunting teks yang telah lama tersedia adalah Vim dan Emacs.
Sebagian besar distribusi Linux didisain untuk penggunaan umum di komputer meja dan peladen, tetapi terdapat distribusi yang dikhususkan untuk tujuan dan lingkungan yang berbeda yang tergantung kepada dukungan arsitektur komputer, sistem benam, stabilitas, keamanan, lokalisasi ke wilayah atau bahasa tertentu, kelompok pengguna tertentu, dukungan aplikasi waktu nyata, atau
lingkungan "desktop" tertentu. Beberapa distribusi bahkan mengikutkan hanya perangkat lunak bebas. Sekarang ini ada sekitar tiga ratus distribusi yang secara aktif dikembangkan, dengan sekitar selusin distribusi yang menjadi terpopuler untuk penggunaan secara umum.
Linux adalah sistem operasi yang di-"porting" secara luas. Kernel Linux awalnya didisain hanya untuk mikroprosesor Intel 80386, sekarang kernel Linux telah jalan di beragam arsitektur komputer antara lain di perangkat "hand-held" iPAQ berbasis ARM, komputer mainframe IBM System z9, dari peralatan berupa telepon bergerak hingga superkomputer. Terdapat distribusi yang dikhususkan untuk sejumlah kecil arsitektur. "Fork" kernel ELKS
dapat dijalankan di mikroprosesor 16-bit Intel 8086 atau Intel 80286, sementara "fork" kernel Clinux dapat dijalankan di atas sistem yang tidak memiliki sebuah unit manajemen memori.
Walaupun masih terdapat kekurangan dalam hal "porting" Linux untuk beberapa perangkat lunak Mac OS X dan Microsoft Windows untuk domain seperti "desktop publishing" dan audio profesional, aplikasi yang secara kasar sama dengan aplikasi-aplikasi untuk Mac dan Windows tersebut tersedia di Linux.