-
کپیلفت: آرمانگرایی عملگرایانه
برای درک اهمّیت کپیلفت، خوب است پیش از بیان تعریف آن، به مرور سرنوشت یک پروژهٔ نرمافزار آزاد بپردازیم. BSD یک سیستمعامل مبتنی بر یونیکس بود که نخستین بار در سال ۱۹۹۱ توسّط دانشگاه برکلی کالیفورنیا به صورت آزاد منتشر شد. پروانهٔ انتشار این سیستمعامل به گونهای بود که هرگونه استفاده از کد مبدأ این سیستمعامل را مجاز میدانست. این امر موجب شد در سال ۱۹۹۴، مایکروسافت از کدهای این پروژه برای پیادهسازی پشتهٔ TCP/IP ویندوز استفاده کند و تغییرات آن را به صورت انحصاری برای خود نگه دارد. یک بار دیگر در سال ۲۰۰۱ نیز، شرکت اپل این سیستمعامل را برداشته و پس از تغییر در کدهای آن، آن را تبدیل به یک محصول انحصاری کرده و با نام OS X (بخوانید او.اِس تِن) منتشر کند. پیشرفت این سیستمعامل که یک کپی تقریباً برابر از BSD بود و به مرور امکانات بیشتری به صورت انحصاری بدان افزوده میشد، موجب رونق گرفتن محصول انحصاری جدید و فراموشی تدریجی BSD شد. در نتیجه، تلاشهایی که افراد بسیاری به منظور توسعهٔ آزادی نرمافزار انجام داده بودند و از وقت و توان خود برای این کار مایه گذاشته بودند، تبدیل به محصولی انحصاری شد که به جای پیشبرد آرمانهای آنان، دقیقاً بر خلاف خواستههای توسعهدهندگانش عمل کرد.
پس آنگونه که میبینیم، آزادی بدون قید و شرط نمیتواند تضمینی برای آزاد ماندن محصول به ما بدهد. اگر به دنیا واقعی نیز بنگریم، مرزهای آزادی نمیتوانند تا انتها گشوده باشند؛ هرکس باید تا جایی آزاد باشد که محدودهٔ آزادی دیگران تجاوز نکرده باشد. از این روست که میان آزادی و بیبندوباری تفاوت میگذاریم. ولی در دنیای نرمافزار چگونه میتوان این مرز را برای آزادی تعیین کرد. پاسخ این پرسش، کپیلفت است.
کپیلفت میگوید که هر شخصی که نرمافزار را با یا بدون تغییر مجدداً منتشر کند، باید به همراهش آزادی تغییر و رونوشت را نیز منتقل کند. بدین صورت که نگارشهای دیگر نرمافزاری با پروانهٔ انتشار کپیلفت، باید با همان پروانه یا یک پروانهٔ کپیلفت سازگار با پروانهٔ اصلی منتشر شوند. کپیلفت این پشتوانه را میدهد که تمام کاربران آزادیها را در اختیار دارند. این کار محرّکی برای توسعهدهندگان است که چیزی به نرمافزار آزاد بیفزایند. خیلی از نرمافزارهای آزاد بااهمّیت مانند کامپایلر سی++ گنو، تنها به این دلیل است که وجود دارند.
دلیل نامگذاری این خاصیت به نام کپیلفت این است که قانون حق رونوشت (کپیرایت) به منظور محدود کردن کاربران و گرفتن ازادیهای آنان در قبال نرمافزارهایشان ایجاد شده است و به کار میرود، در حالی که چنین پروانههایی از این قانون به منظور حفظ و تضمین آزادیهای کاربران اسفاده میکنند، از آنجا که این عمل، برخلاف جهت استفادهٔ اصلی کپیرایت و نوعی هک قانونی است، نام آن نیز یک هک با واژهٔ کپیرایت است که در آن واژهٔ right که در اینحا به معنی حق است، ولی در زبان انگلیسی معنای «راست» نیز میدهد، با واژهٔ left که به معنای «چپ» است، جایگزین شده، تا نشاندهندهٔ تفاوت جهت استفادهٔ از این حق باشد. همچنین نشان کپیلفت، همان نشان کپیرایت است که در آن علامت C درون دایره به جای این که در جهت راست قرار گرفته باشد، به جهت چپ ایستاده است.
کپیلفت مفهومی جامع است و نمیتوان یک مفهوم را به صورت مستقیم به کار گرفت، بلکه باید از پیادهسازیهای خاصی از یک مفهوم استفاده کرد. معروفترین و محبوبترین این پیادهسازیها، پروانهٔ جامع همگانی گنو است که برای نرمافزارهای عادی به کار رفته و به اختصار با نام GPL شناخته میشود. در صورتی که نرمافزار شما نرمافزاری نیست که منتشر شود، برای مثال، خدمتی است که روی یک کارساز نصب شده و به دیگران خدمترسانی میکند، نیازمند گونهٔ دیگری از پروانه است که با شرایط خاص این گونه از نرمافزارها هماهنگ باشد؛ برای این گونه نرمافزارها، پروانهٔ AGPL کارساز است. برای مستندات و متونی که خود، نرمافزار نیستند ولی به همراه نرمافزارها ارائه میشوند، بهترین انتخاب پروانهٔ مستندات آزاد گنو یا GFDL است. همچنین برای متون عادی، محتواهای چند رسانهای از قبلی عکس، آهنگ، فیلم و… نیز پروانهای با نام اختصاری CC-BY-SA توسّط بنیاد Creative Commons منتشر شده است که میتواند برای کپیلفت کردن آنها به کار رود.
انتشار نرمافزار یا محتوای خود با پروانههای کپیلفت، نیازمند طی کردن مراحل قانونی نیست. شما میتوانید تنها با قرار دادن پروندهٔ پروانهٔ انتشار مورد نظر درون شاخهٔ کد مبدأ نرمافزار، یا قرار دادن علامت مربوطه درون محتوای غیرنرمافزاری خود، محصولتان را با این پروانهها منتشر کنید تا با مفاد موجود در آن پروانه، مشمول قانون حمایت از حق رونوشت قرار گیرند. در ایران تمامی محتواهای ایجاد شده درون کشور، به صورت خودکار مشمول قانون حمایت از حقوق پدیدآورندگان شده و تخطّی از پروانهٔ انتشار آنها، قابل پیگیری قانونی است. همچنین در کشورهایی که معاهدهنامهٔ برن را پذیرفتهاند، با انتشار محتوا، شما صاحب حق رونوشت آن محصول شناخته شده و به صورت خودکار پروانهٔ انتشاری که برای آن اثر مشخّص کردهاید، مورد حمایت قانونی قرار میگیرد.
-
گنو هرد، فراتر از لینوکس
در نیمهٔ نخست دههٔ ۹۰ میلادی، پس از آن که لینوس توروالدز کرنل خود را با نام لینوکس به صورت آزاد منتشر کرد، اعضای پروژهٔ گنو که در طول ده سال گذشته در تلاش برای به وجود آوردن یک سیستمعامل آزاد بودند بر سر یک دوراهی تاریخی قرار گرفتند؛ ادامهٔ تلاشها برای توسعهٔ میکروکرنل خود و سرویسدهندههای مربوط به آن تحت عنوان پروژهٔ هرد (HURD) یا استفاده از کرنل یکپارچهٔ جدیدی که هم به همان اندازه آزاد بود و هم در آن زمان تقریباً قابل استفاده بود. در نهایت و پس از کشمکشهای بسیار، تصمیم بر این شد که پروژهٔ هرد متوقّف شده و تلاشها بر روی توسعهٔ لینوکس به صورتی که با سیستمعامل گنو سازگار باشد متمرکز شود. اینگونه بود که سیستمعامل جدیدی به نام گنو/لینوکس متولّد شد. ولی تفاوت این دو در چه بود؟
کرنل
کرنل به صورت ساده یکی از اعضای سیستمعامل است. اندرو تتنباوم در کتاب سیستمعامل پیشرفته پس از صحبت در باره ی این که نمیتوان تعریف جامع و دقیقی از سیستمعامل ارائه داد، بهترین تلاش خود را برای تعریف سیستمعامل به این صورت بیان میکند: سیستمعامل عبارت است از کرنل و هر نرمافزاری که مستقیماً با کرنل کار میکند، مثل کتابخانهها، فیرمورها، کامپایلرها و ابزارهای توسعه. کرنل در این میان بخشی است که مستقیماً با سختافزار صحبت کرده و وظیفهٔ اختصاص منابع را برعهده دارد. ولی خود کرنل همانگونه که در بالا اشاره شد انواع مختلفی دارد.
کرنل یکپارچه (Monilithic kernel)
این نوع کرنل که لینوکس نمونهٔ بارز آن است، همانگونه که از نامش پیداست تماماً از یک قسمت تشکیل شده و اجزای آن قابل تمایز از یکدیگر نیستند. به عبارت دیگر راهاندازهای سختافزاری، ارتباطات میانپردازشی مانند سیگنالها و سوکتها، سرویسدهندهٔ پروندهها و… همگی در فضای کرنل قرار داشته و با دسترسی ابرکاربر انجام میشوند. در مثال، کرنل یکپارچه به مانند یک سیبزمینی است که قدرت انعطاف بالایی ندارد
میکروکرنل (Microkernel)
این نوع کرنل که ماخ نمونهای از آن است، از یک کرنل بسیار ریز با حجم پایین تشکیل شده که فقط وظایف اساسی سامانه مانند راهاندازی و انتقال ارتباطات میانپردازشی سطح پایین میان سرویسدهندهها و دادن دسترسیهای لازم به آنها را برعهده دارد و مابقی کارها توسّط مجموعهای از سرویسدهندهها که در حالت کاربر سیستمعامل بر روی کرنل قرار میگیرند و با یکدیگر در ارتباط هستند انجام میپذیرد. این ساختار کرنل، سیستمعامل را بسیار منعطف کرده و به توسعهدهندگان اجازه میدهد با قرار دادن اجزای دلخواه خود به صورت مورد نیاز، سامانهٔ خود را برای مقاصد خاص خود طرّاحی کنند. در مثال، میکروکرنل به مانند یک پایه به همراه قطعات لگوی بسیاری است که میتوان با آنها طرح دلخواه خود را ایجاد کرد.
کرنل پیوندی (Hybrid kernel)
این نوع کرنل که ویندوز NT نمونهٔ آن است، ساختاری است که تلاش کرده ویژگیهای کرنل یکپارچه و میکروکرنل را با هم ادغام کند. این، به خاطر شباهتش به مدل یکپارچه، بسیار بحثبرانگیز است. ایدهٔ اصلی پشت این ساختار این بوده که از ساختاری مشابه میکروکرنل برخوردار باشد، ولی به صورت یک کرنل یکپارچه پیادهسازی شود. برخلاف میکروکرنل، تقریباً همهٔ سرویسدهندههای سیستمعامل در فضای کرنل قرار دارند و همچنین نمیتوان در زمان اجرای سامانه، ماژولهایی را از کرنل پیوندی حذف یا به آن اضافه کرد. در عمل اغلب پیادهسازیهای این گونه از کرنل از هردو گونهٔ پیشین ضعیفتر ظاهر شدهاند.
پروژهٔ هرد
همانگونه که گفته شد، این پروژه در اواسط دههٔ ۹۰ میلادی تقریباً متوقّف شد. ولی مجموعهای از دلایل موجب شد که توسعهٔ این پروژه از سال ۲۰۱۳ دوباره به صورت جدّی از سر گرفته شود. از جملهٔ این دلایل میتوان به عدم مهاجرت لینوکس به آخرین نسخه از پروانهٔ انتشار GPL و همچنین احساس قدیمی شدن ساختار کرنل یکپارچه برای قرن بیست و یکم اشاره کرد. خروجی این پروژه به صورت عمومی به گنو هرد شهرت دارد، ولی از نظر تکنیکی شامل میکروکرنل گنو-ماخ (GNU-MACH) و مجموعهای از سرویسدهندهها به نام هرد میشود که بر روی آن اجرا میشوند. به همین صورت سیستمعامل کاملی که بهجای کرنل لینوکس از گنو-ماخ و هرد استفاده میکند با نام عمومی گنو/هرد شناخته میشود، هرچند اطلاق نامهایی مانند گنو/ماخ با سرویسدهندههای هرد و حتا گنو هم به آن محلّی از اشکال ندارد.
تاریخچه
در ابتدا قرار بود سیستمعامل گنو از کرنل تریکس (TRIX) که در MIT توسعه یافته بود استفاده کند و از این رو توسعهدهندگانش اقدام به اعمال تغییرات لازم بر این کرنل کرده بودند، ولی در سال ۱۹۸۶ بنیاد نرمافزار آزاد طی مذاکراتی با پروفسور رشید از دانشگاه کارنگی-ملون بر سر توسعهٔ مشترک کرنل ماخ به توافق رسید. این کار به آنها اجازه میداد بهجای تلاش برای تغییر کرنل TRIX، کرنل را به گونهای که خودشان میخواستند توسعه دهند. با توسعه و بلوغ نسبی کرنل ماخ در پایان دههٔ ۸۰، بنیاد نرمافزار آزاد از سال ۱۹۹۰ کار بر روی سرویسدهندههای هرد را بر روی میکروکرنل ماخ آغاز کرد.
وضعیت کنونی
به گفتهٔ تیم توسعهٔ دبیان، گنو هرد برای ورودش به این توزیع در انتشار جسی بیش از ۸۰٪ آماده است. با توجّه به این که کرنل FreeBSD هنگام ورودش در انتشار ویزی دارای آمادگی ۸۵٪ بود، امید است به زودی شاهد توزیع گسترده و عمومی آن باشیم. این کرنل در حال حاضر به صورت غیر رسمی توسّط دو توزیعکنندهٔ بزرگ دبیان و آرچ قابل دریافت و استفاده است که در میان آنها، توزیع دبیان از وضعیت بهتری برخوردار بوده و تا حد زیادی توانایی انجام کارهای عادی روزمره را دارد.
کاستیها
گنو هرد با تمام خوبیهایش، نواقصی نیز دارد که ناشی از کمبود نیروی انسانی داوطلب برای توسعهٔ آن است. برای مثال در حال حاضر هنوز نسخهٔ ۶۴ بیتی از آن موجود نیست و نمیتواند با دیسکهای ساتا کار کند. همچنین راهاندازهای سختافزاری آن محدود هستند و ممکن است با خیلی از دستگاهها کار نکند. گرچه برای مثال سرویسدهندههای پایگاه وب گنو هماکنون به وسیلهٔ گنو/هرد راهاندازی شده اند، ولی برای داشتن یک تجربهٔ کاربری بدون مشکل با این سیستمعامل برای کارهای روزمره، بهترین روش استفاده از آن بر روی یک مجازیساز مانند kvm است، زیرا که راهاندازهای مربوط به دستگاههای شبیهسازی شدهٔ رایج برای گنو هرد نوشته شده اند.
هرد و لینوکس
ریچارد استالمن رابطهٔ بین هرد و لینوکس را اینگونه شرح میدهد:
بعضیوقتها مردم میپرسند «چرا بنیاد نرمافزار آزاد بهجای استفاده از لینوکس، یک کرنل آزاد جدید را توسعه داد؟» این پرسش معقولی است. پاسخ آن به صورت خلاصه این است که ما با این پرسش مواجه نبودیم.
هنگامی که ما در ۱۹۹۰ شروع به توسعهٔ هرد کردیم، پرسشی که با آن مواجه بودیم این بود که «چگونه میتوانیم کرنلی آزاد برای سیستمعامل گنو داشته باشیم؟» در آن زمان هیچ کرنل شبهٔونیکس آزادی وجود نداشت و ما هیچ تلاش دیگری را هم برای نوشتنش نمیشناختیم. تنها راهی که میتوانستیم برای داشتن یک کرنل آزاد انتظار داشته باشیم این بود که خودمان بنویسیمش، پس شروع کردیم.
ما پس از انتشار لینوکس دربارهٔ آن شنیدیم. در آن زمان پرسشی که دربرابر ما قرار داشت این بود که «آیا باید پروژهٔ هرد را لغو کنیم و بهجایش از لینوکس استفاده کنیم؟» ما شنیدیم که لینوکس به هیچوجه قابل انتقال نیست (این گزاره شاید امروزه درست نباشد، ولی در آن زمان اینگونه گفته میشد). همچنین ما شنیدیم که لینوکس از نظر معماری معادل دقیق یونیکس است، در حالی که کار ما به چیزی بسیار پرقدرتتر میانجامید.
با توجّه به سالها کاری که تا آن زمان بر روی هرد انجام شده بود، ما تصمیم گرفتیم که آن را به جای دور انداختن، به اتمام برسانیم.
اگر ما با این پرسشی که مردم میپرسند مواجه بودیم (یعنی لینوکس موجود بود و میخواستیم تصمیم بگیریم که کرنل دیگری بنویسیم یا نه)، این کار را نمیکردیم. به جای آن پروژهٔ دیگری را برای کار بر رویش انتخاب میکردیم؛ چیزی که کاری را انجام دهد که هیج نرمافزار آزاد موجودی نمیتوانست.
ولی ما هرد را قبل از آن شروع کردیم و اکنون نیز آن را به مرحلهٔ اجرایی رساندهایم و امیدواریم که معماری برتر آن، سیستمعاملهای آزاد را قدرتمندتر کند.
نصب گنو/هرد
برای استفاده از گنو/هرد، آسانترین راه استفاده از یک تصویر از پیش نصب شده است. این تصویر را برای توزیع دبیان میتوان از اینجا دریافت کرد:
$ wget http://ftp.debian-ports.org/debian-cd/hurd-i386/current/debian-hurd.img.tar.gz
و با این دستور از حالت فشرده خارج کرد:
$ tar xzf debian-hurd.img.tar.gz
حال میتوان آن را مستقیماً روی kvm اجرا کرد:
$ kvm -drive file=debian-hurd*.img,cache=writeback -m 1G
یا آن را تبدیل به دیسک virtualbox کرد تا از داخل این برنامه آن را مدیریت کرد:
$ VBoxManage convertfromraw debian-hurd.img debian-hurd.vdi --format vdi
حال میتوان به صورت عادی از آن استفاده کرد.
-
تلویزیون خود را هوشمند کنید
همهٔ ما در ذهنمان فهرستی از نرمافزارهایی داریم که تنها به شنیدن نام و دانستن کلّیت کاری که میکنند، اکتفا کردهایم و به خود مجال آزمودن آنها را ندادهایم. تا چند هفته پیش نرمافزار XBMC برای من، یکی از همین گونه نرمافزارها بود و دلیل اصلی عدم آزمودن این نرمافزار، نوع آن بود: مرکز رسانه. دلایل زیادی را میتوان برای عدم اقبال کاربران به نرمافزارهای مرکز رسانه مطرح کرد، ولی شاید مهمترین این دلایل فاجعهای بود که شرکت مایکروسافت با نام windows media center منتشر کرد و همگان را نسبت به این نام بدبین کرد. انگیزهای که من را به نصب این نرمافزار آزاد واداشت، تنها کنجکاوی و مقداری زمان اضافی، در کنار سرعت اینترنت مناسب برای بارگیری و نصب این نرمافزار بود، ولی پس از نصب این نرمافزار تنها حسرت میخوردم که چرا مدتها پیش به استفاده از این نرمافزار روی نیاورده بودم.
نرمافزار XMBC که در نسخه ۱۴ به کودی (Kodi) تغییر نام خواهد داد، یک مرکز رسانهٔ آزاد با پروانه انتشار GPL است که در سال ۲۰۰۲ با هدف تبدیل دستگاه xbox به یک مرکز رسانه آغاز به کار کرد، اما در حال حاضر روی سکّوهای گنو/لینوکس، بیاسدی، ویندوز، مک اواس، اندروید، آیاواس و… اجرا میشود. این مرکز تفریح را میتوان به صورت بستههای معمولی روی سیستمعامل فعلی دستگاه خود نصب کرد یا به صورت توزیعهایی از پیش پیکربندیشده مانند OpenELEC (سرنام عبارت Open Embedded Linux Entertainment Center) برای دستگاههای توکار یا Rasbmbc برای بردهای رایانهای نصب کرد. از دستگاههایی که قابلیت اجرای این مرکز رسانه را به صورت رسمی و مستقیم روی سختافزار خود دارند، میتوان به دستگاههای تلویزیونی Fire TV آمازون، سریهای نخست و دوم تلویزیون اپل، کرومباکسها، باکسی، رزبریپای و… اشاره کرد.
وظیفه اصلی این نرمافزار در ابتدا، مدیریت آسانتر پروندههای چندرسانهای موجود روی رایانه بود، ولی با استفاده از قدرت آزاد بودن نرمافزار و امکان نوشتن افزونههای مختلف برای آن، در حال حاضر تبدیل به یک سکّوی قدرتمند برای همهٔ امور مربوط به رسانه شده است. با استفاده از کودی میتوانید علاوه بر دیدن سریالها و فیلمهای سینمایی یا گوش دادن به آهنگهای خود، پخش مستقیم اینترنتی شبکههای مختلف را مشاهده کنید، قسمتهای جدید سریالهای مورد علاقهتان را به صورت مستقیم از اینترنت دریافت کرده (streaming)، با استفاده از تیونر آنالوگ یا DVB-T، شبکههای تلویزیونی مورد علاقه خود را تماشا و برنامههای مورد علاقه خود را فارغ از مبدأ پخش آن ضبط کنید. مطّلع شوید چه ویدیوهایی بیشتر توسّط مردم دنیا دیده میشوند و با یک کلیک تماشایشان کنید، ویدیوهای روی یوتوب را ببینید، در کلاسهای درس آکادمی خان و یوداسیتی شرکت و حتا به دریافت پروندههای تورنت و ذخیرهٔ آنها اقدام کنید.
نرمافزار کودی در آغاز هربار اجرا، پروندههای موجود در مسیرهایی که به عنوان مسیر رسانه معرفی شدهاند را برای بررسی تغییرات جستوجو کرده و پایگاهدادههای سریالها، فیلمها، آهنگها و… را بهروز میکند و آخرین موارد وارد شده در هر بخش را معرّفی میکند. علاوه بر آن، در هر بخش میتوان از افزونههای مربوط به آن قسمت استفاده کرد که تعدادی از مفیدترین افزونههای هر قسمت در انتهای این مطلب معرّفی خواهند شد.
علاوه بر افزونههای خارجی، تعدادی پلاگین داخلی هم برای کودی وجود دارد که در داخل برنامه پیادهسازی شدهاند. از مهمترین این پلاگینها میتوان به پلاگین زیرنویس اشاره کرد که توانایی بارگیری و نمایش زیرنویس به زبانهای انتخابی، از جمله فارسی را برای ویدیوی در حال پخش به کاربر میدهد. البته این پلاگین میتواند منابع مختلفی را به عنوان مرجع زیرنویس استفاده کند که خود این منابع به وسیله افزونههای خارجی دیگر قابلیت گسترش دارند.
یکی از برتریهای این مرکز رسانه نسبت به دیگر نمونههای مشابه، نرمافزار کنترل از راه دور آن برای دستگاههای همراه است که علاوه بر ارتباط با نرمافزار و امکانات کنترلی که یک کنترل عادّی دستگاههای تلویزیونی در اختیار شما میگذارد، امکان جستوجو در بین موارد موجود در کودی، دیدن وضعیت آن مورد (دیده شده یا نشده)، توضیحهایی دربارهٔ آن مورد از قبیل خلاصه داستان، سال ساخت و… را نیز در اختیار شما میگذارد. همچنین امکان جستوجو و بررسی در بین موارد موجود نیز با استفاده از فیلدهایی چون ژانر، کارگردان، بازیگر و شرکت وجود دارد. از دیگر مزایای استفاده از کنترل تلفن همراه، نمایش اعلانهایی روی صفحهٔ نمایش هنگام دریافت پیامک است که نام فرد تماسگیرنده و پیام را نمایش میدهد و دیگر نیاز نیست برای خواندن پیامها، پخش فیلم را قطع کنید. در صورتی که شخصی با شما تماس بگیرد نیز شماره یا نام آن فرد روی صفحهٔ نمایش درج شده و در صورتی که کاربر به تماس پاسخ دهد، به صورت خودکار، پخش فیلم تا پایان تماس متوقف میشود و پس از آن پخش از سر گرفته میشود.
از دیگر امکانات پیشرفتهٔ این نرمافزار، امکان کنترل شدن از طریق HDMI است (CEC) که به وسیلهٔ آن میتوانید تنها با استفاده از کنترل از راه دور تلویزیون مجهّز به HDMI، نرمافزار کودی را هم کنترل کنید و دیگر نیاز به دستگاه جانبی دیگری برای استفاده از آن وجود ندارد.
افزونههای مفید
در اینجا قصد داریم تعدادی از افزونههای مفید را برای کودی معرّفی کنیم. این افزونهها لزوماً بهترین افزونههای موجود نیستند و تنها طبق تجربهٔ شخصی معرفی شدهاند. این افزونهها و بسیاری از افزونههای دیگر را میتوان از طریق وبسایت TV addons دریافت کرد.
ویدئو
1Channel
این افزونه امکان مشاهده فیلمهای سینمایی و سریالها را به صورت استریم از دهها سرور مختلف برای شما فراهم میکند.
Docu-Hub
این افزونه مستندهای فراوانی را در حوزههای مختلف برای دیدن و استریم از اینترنت در یکجا جمع کرده است.
Nasa
با استفاده از این افزونه میتوان شبکههای مختلف تلویزیونی ناسا، از جمله پخش مستقیم از ایستگاه فضایی بینالمللی را به صورت زنده مشاهده کرد.
Sports Devil
در صورتی که میخواهید آن دسته از رقابتهای ورزشی را که توسط تلویزیونهای کشورتان پخش نمیشود مشاهده کنید، میتوانید از این افزونه بهره ببرید.
World News live
این افزونه، امکان پخش مستقیم مجموعه بزرگی از شبکههای خبری دنیا را از کشورها مختلف جهان در کیفیتهای متفاوت برای شما فراهم میکند
دیگر افزونهها
Youtube - Khan Academy - Udacity - TED Talks
آهنگ
Concert Archive
این افزونه، فیلمهایی از کنسرتهای کلاسیک را از طریق یوتیوب پیدا کرده و امکان پخش آنها را به شما میدهد.
JamBMC
این افزونه میتواند در میان آهنگهایی که پروانه انتشار آزاد دارند جستوجو کرده و آنها را پخش کند.
Music Video Jukebox
این افزونه، جدیدترین موزیکویدئوهای منتشر شده را فهرست و پخش میکند.
Spotimc
این افزونه که هنوز در حالت آزمایشی است، میخواهد اسپاتیفای را به کودی بیاورد.
TuneIn Radio
پخش اینترنتی مجموعهای از هزاران کانال رادیویی در سراسر جهان با قابلیت بارگیری محتوای آنها.
XBMC Karaoke Addon
با این افزونه کارائوکه را به خانه بیاورید و با دوستانتان در خواندن آهنگهای دلخواهتان روی موسیقی بیکلام آنها مسابقه بدهید.
دیگر افزونهها
SoundCloud
برنامه
Axel Downloader
با اینافزونه، سرعت بارگیریهایی که توسط کودی انجام میشود، با شتابدهنده Axel افزایش مییابد.
Launcher
با استفاده از این افزونه میتوان هر برنامه دیگری را که به کودی ارتباط ندارد، بدون بیرون رفتن از برنامه اجرا کرد.
Navi-X
ببینید چه محتواهایی روی اینترنت محبوبتر است، به صورت مستقیم محتواها را از روی رایانه دیگران ببینید و محتواهای خود را به اشتراک بگذارید.
Rom Launcher
با استفاده از این افزونه میتوانید دستگاه خود را بدون نیاز به تجهیزات اضافی به یک کنسول بازی تبدیل کرده و از بازی کردن با آن لذت ببرید.
RSS Editor
اگر با زیرنویسهای خبری در تلویزیون آشنا هستید، با این افزونه میتوانید زیرنویسهای خود را از منابع دلخواه به نمایش دربیاورید.
Transmission
میخواهید قسمت جدید سریال مورد علاقه خود را بارگیری کنید؟ با این افزونه میتوانید به کمک ترنسمیشن آن را از تورنت بگیرید.
دیگر افزونهها
XBMC Audio Mixer