انجمنهای فارسی اوبونتو
تازه کار => فلسفهٔ اوبونتو، گنو/لینوکس و نرمافزارهای آزاد و متنباز => نویسنده: سید وحید رضا برهانی در 11 فروردین 1394، 07:11 قظ
-
یک مطلبی هست که خیلی ها می گن اونم اینکه درنرم افزار آزاد ما گوناگونی نرم افزار داریم و همین امر باعث می شه که ما در برابر حملات ایمن بمونیم! این حرف به لحاظ تئوری و در گذشته درست بوده و من هم (در گذشته) قبولش داشتم و تکرار اش می کردم. ولی امروزه با ورود شرکتهای کله گنده ای مثل گوگل! و طبیعتا محصولات به شدت متفاوت وبا کیفیت (به قول استالمن به کیفیت زندگی نگاه کنید نه کیفیت نرم افزار)تقریبا کمتر کسی پیدا می شه که از این محصولات استفاده نکنه
مثال: در حوزه ی مرورگر ها
شما چند نفر رو (از جامعه نرم افزار آزاد)می شناسید که در کامپیوترشون مرورگر فایر فاکس یا کروم نداشته باشند؟ من برای معلوم شدنش نظر سنجی گذاشتم
مثال ۲:
اگر گوناگونی خوب است و به امنیت کمک می کند پس چرا کسی که روش جدیدی را پیدا می کند (مثلا یک روش جدید در رمزنگاری که من خودم چندتا تاپیک رو دیدم و حتی در وبلاگ های شخصی دوستان) در اولین کامنت ها بهش جواب می دهند که از استانداردها! تبعیت کن!
همه ی ما می دانیم که استانداردها با تنوع مخالف اند همانطوری که قوانین با تنوع مخالف اند(کسی مخالف این هست؟) یعنی ایده آل قوانین و استاندارد ها یکسان سازی همه ی موجودها/مفهوم ها است. پس منطقا نمی شه کسی هم بر طبل گوناگونی بکوبه و هم بگه که از استانداردها پیروی کن!
در کل به نظرم حرف زدن از گوناگونی خیلی مسخره است وقتی که شرکت های کله گنده می خواهند کامپیوترهای بیشتری را تصاحب کنند! (مخالفید؟)
باید بیشتر فکر کرد خیلی از حرف هایی که ۱۰ سال پیش در مورد گنو/لینوکس درست بوده دلیلی نداره که الان هم درست باشه - توی یک پست دیگه بیشتر می گم
-
درنرم افزار آزاد ما گوناگونی نرم افزار داریم و همین امر باعث می شه که ما در برابر حملات ایمن بمونیم!
گوناگونی نرمافزار مستقیما ربطی به حملات و امنیت نداره. گوناگونی باعث میشه که افراد قدرت انتخاب داشته باشند.
چرا کسی که روش جدیدی را پیدا می کند (مثلا یک روش جدید در رمزنگاری که من خودم چندتا تاپیک رو دیدم و حتی در وبلاگ های شخصی دوستان) در اولین کامنت ها بهش جواب می دهند که از استانداردها! تبعیت کن!
با خوندن یک کتاب در مورد رمزنگاری، نمیشه یک روش جدید رمزنگاری پیدا کرد. ساختن یک روش امن رمزنگاری کار هر کسی نیست و کسی هم که سوادش رو داره و چنین کاری انجام میده، چنین روشهایی رو به صورت یک مقاله علمی منتشر میکنه، نه توی یک انجمن یا گروه پستی. شما ابتدا باید سواد و تجربه کافی رو در این زمینه داشته باشید، بعد میتونید وارد این زمینه بشید.
اگر میخواید تنوع ایجاد کنید، اولین سوال از خودتون باید این باشه که چرا میخواید اینکار رو بکنید و مشکلی که در حال حاضر با سیستمهای موجود دارید چیه، اگر راه حلی برای این مشکل نبود و تنها راهش ایجاد یک روش یا سیستم جدید بود، بعد باید چنین کاری رو انجام بدید.
-
گونانگونی به هیچ وجه موجب امنیت نمیشه. اتّفاقاً استانداردها اگه درست تنظیم و پیاده شده باشن، خیلی بیشتر موجب امنیت میشن. استانداردها هم با تنوّع مخالف نیستند. این که ماشین باید سه تا پدال گاز و ترمز و کلاج داشته باشه باعث نمیشه تنوّع در عرصهی خودرو کم بشه.
این حرفی که در مورد مثلاً فایرفاکس میزنی و اون رو جدید میدونی هم درست نیست از نظر من. از همون سی سال پیش هم گنو و توزیعهاش همه glibc داشتن، bash داشتن، gcc داشتن، بعد از نوشته شدن لینوکس هم که تقریباً همه کرنل مشترک داشتن. اتّفاقاً الآن تنوّع خیلی هم بیشتر شده به نظر من
-
گونانگونی به هیچ وجه موجب امنیت نمیشه.
لفظ "به هیچ وجه " اینجا غلطه . مثلا وقتی حفره امنیتی shellshock کشف شد و مورد حمله قرار گرفت , این گوناگونی بود که از سرور هایی که بر خلاف اکثریت به جای bash از zsh استفاده میکردند محافظت کرد
-
مخلص کلام
یکی از مباحث مهم در ژنتیک جهشه، معمولا "جهش" در تنوع و گوناگونی به وجود میاد.
-
روی سیستم خونه یه Empathy و یه iceweasel دارم...
-
حرف sun microsystem درسته یعنی همون زمان استدلال می شد که چون افراد مختلف از برنامه های مختلفی استفاده می کنند پس اگر در یک برنامه باگی پیدا بشه اون وقت مشکل امنیتی فقط محدود به همون کاربرها می شه.
---
در مورد استاندارد ها مگه ما برای چی استاندارد سازی انجام می دیم ؟ وقتی می گیم که استاندارد TTL سطح بالا(یک منطقی) رو ۵ ولت در نظر می گیره یعنی اینکه هرکاری که می خواهدانجام بشه مهم نیست در نهایت باید خروجی ۰ یا ۵ ولت باشه حالا ممکنه که در قبل و بعدش تنوع باشه ولی در خود TTL تنوعی وجود نداره یعنی نباید هم وجود داشته باشه چون اگر اینطوری باشه از استاندارد بودن خارج می شه
این حرفی که در مورد مثلاً فایرفاکس میزنی و اون رو جدید میدونی هم درست نیست از نظر من. از همون سی سال پیش هم گنو و توزیعهاش همه glibc داشتن، bash داشتن، gcc داشتن، بعد از نوشته شدن لینوکس هم که تقریباً همه کرنل مشترک داشتن. اتّفاقاً الآن تنوّع خیلی هم بیشتر شده به نظر من
آره تاحدی قبول می کنم
ولی در مورد «امروز»، ما علاوه بر بش و glibc و GCC و... فایرفاکس و میزکار و... مشترک هم داریم یعنی اینکه عملا تنوع کمتر می شه . چجوری می گی داره بیشتر می شه؟ البته تاجایی که یادمه ما به غیر از GCC کامپایلر های دیگه ای هم داشتیم و در طی زمان به حاشیه کشیده شدند و GCC مونده (اشتباه می کنم؟)
---
اگر میخواید تنوع ایجاد کنید، اولین سوال از خودتون باید این باشه که چرا میخواید اینکار رو بکنید و مشکلی که در حال حاضر با سیستمهای موجود دارید چیه، اگر راه حلی برای این مشکل نبود و تنها راهش ایجاد یک روش یا سیستم جدید بود، بعد باید چنین کاری رو انجام بدید.
من این جمله اصلا تو کتم نمی ره! یعنی من کاملا برعکس فکر می کنم یعنی من می گم که برای اینکه از روشهای قدیمی استفاده بکنیم باید دلیل داشته باشیم نه برای نوآوری!
گاهی وقتها هست که می خواهی یک چیز رو ارتقا بدی . خب در اینجا مجبوری دلیل بیاری که سیستم فعلی چه ایرادی داره ولی اگر که بخواهی چیز جدیدی رو درست کنی لزومی نداره.
---
چند سوال:
چرا موازی کاری بد پنداشته می شه؟
چرا نرم افزار های کامپیوتر من باید با کامپیوتر شما یکی باشند؟
-
من این جمله اصلا تو کتم نمی ره! یعنی من کاملا برعکس فکر می کنم یعنی من می گم که برای اینکه از روشهای قدیمی استفاده بکنیم باید دلیل داشته باشیم نه برای نوآوری!
گاهی وقتها هست که می خواهی یک چیز رو ارتقا بدی . خب در اینجا مجبوری دلیل بیاری که سیستم فعلی چه ایرادی داره ولی اگر که بخواهی چیز جدیدی رو درست کنی لزومی نداره.
نوشتن یا ساخت چیزی که قبلا وجود داشته، نوآوری نیست، دوبارهکاری هست. دوبارهکاری بدون دلیل هم هدر دادن انرژی هستش.
-
در مورد استاندارد ها مگه ما برای چی استاندارد سازی انجام می دیم ؟ وقتی می گیم که استاندارد TTL سطح بالا(یک منطقی) رو ۵ ولت در نظر می گیره یعنی اینکه هرکاری که می خواهدانجام بشه مهم نیست در نهایت باید خروجی ۰ یا ۵ ولت باشه حالا ممکنه که در قبل و بعدش تنوع باشه ولی در خود TTL تنوعی وجود نداره یعنی نباید هم وجود داشته باشه چون اگر اینطوری باشه از استاندارد بودن خارج می شه
سلام
ما از استاندارد ها پیروی میکنیم برای اینکه بتونیم با ابزارهایی که داریم کار کنیم . شما جای TTL از (مثلا) ۸ ولت استفاده کن . برای تمام مدارهای الکترونیکیت یه Level Shifter بزار تا ورودی و خروجیتو بیاره روی ۸ ولت !! یا کلا عمرتو بزار به پای اینکه همه چیزو از اول بر اساس ۸ ولت بسازی که در انتها هم مشتری اول و آخرش خودتی !
وقتی استانداردی وجود داری برای بستن دست و پای ما نیست !برای تطبیق ابزارها و برنامه های ماست .
چند سوال:
چرا موازی کاری بد پنداشته می شه؟
چرا نرم افزار های کامپیوتر من باید با کامپیوتر شما یکی باشند؟
به عنوان مثال الان دهها مرورگر اینترنت وجود داره . اما همه از یکی دو تا شایدم ۳ نوع مرورگر استفاده میکنند . مثلا فایرفاکس و کروم و اپرا!! (البته منظورم کلی هست وگرنه کسانی هستند از ما بقی هم استفاده کنند) دلیلش رو میدونید؟کسی ما رو اجبار نکرده ! شاید مهمترین دلیل قابلیت های این نرم افزار هاست . مسلما اگر مرورگر بهتری باشه مردم به اون سمت حرکت میکنند . تقریبا درباره نرم افزارهای کامپیوتر شما که اتفاقا من هم از همونها استفاده میکنم همین نظر صادقه !چون جایگزین بهتری وجود نداره . کسی کسی رو مجبور نمیکنه مردم خودشون انتخاب میکنند و تمام نرم افزارهای بدون کاربر روزی فکر میکردند قابلیت های بهتری دارند اما نداشتند .
مثلا شما اگر با TCP/IP آشنا هستید و (مثلا)برنامه نویسی سوکت وشبکه و ... بلدید برا خودتون یه مرورگر بنویسید تا نرم افزارتون شبیه چیزی که بقیه استفاده میکنند نباشه .ساعتها و روزها وقت بگذارید و چیزی بدست بیارید که وجود داره !چندان عقلانی نیست . مگر اینکه هدف بزرگتری داشته باشید .
-
که در انتها هم مشتری اول و آخرش خودتی
وقتی استانداردی وجود داری برای بستن دست و پای ما نیست !برای تطبیق ابزارها و برنامه های ماست .
سلام
دقیقا یک نکته ی مهم همینجاست :) نکته اینکه که چرا باید نرم افزارهای شما با مال من تطبیق بکنند و سازگار باشند؟ چرا نرم افزارهای شما باید روی کامپیوتر من هم کار بکنند؟ نکته ی امنیتی که قبلا می گفتن همین بود : چرا شما بتونید با نرم افزارهای خودتون، کامپیوتر من رو کنترل کنید؟
ببینید گاهی وقتها شما می خواهید یک نرم افزاری بنویسید که با مال بقیه ارتباط داشته باشه اونوقت شما می توانید استاندارد ها رو پیاده کنید(که خیلی هم خوبه) ولی در بقیه موارد آیا لزومی داره که کامپیوتر من با کامپیوتر شما سازگار باشه؟ نه!
تقریبا درباره نرم افزارهای کامپیوتر شما که اتفاقا من هم از همونها استفاده میکنم همین نظر صادقه !چون جایگزین بهتری وجود نداره . کسی کسی رو مجبور نمیکنه مردم خودشون انتخاب میکنند و تمام نرم افزارهای بدون کاربر روزی فکر میکردند قابلیت های بهتری دارند اما نداشتند .
آره منم همین رو توی پست اولم گفتم که چون نرم افزارهایی که پشتشون یک شرکت کله گنده ی پولدار! وجود داره محصولات باکیفیت تری رو تولید می کنند. و این محصول با کیفیت سایر نرم افزار های موجود رو که جامعه گسترش داده را نابود می کنه و خب این یعنی اینکه تنوع محصولات کم می شه واین یعنی اینکه جامعه نرم افزار آزاد دیگه جامعه نرم افزار آزاد سابق نیست.
-
روی سیستم خونه یه Empathy و یه iceweasel دارم...
منم از lynx و اگه لازم بشه از کامند mail استفاده میکنم ! ;D
-
دقیقا یک نکته ی مهم همینجاست :) نکته اینکه که چرا باید نرم افزارهای شما با مال من تطبیق بکنند و سازگار باشند؟ چرا نرم افزارهای شما باید روی کامپیوتر من هم کار بکنند؟ نکته ی امنیتی که قبلا می گفتن همین بود : چرا شما بتونید با نرم افزارهای خودتون، کامپیوتر من رو کنترل کنید؟
ببینید گاهی وقتها شما می خواهید یک نرم افزاری بنویسید که با مال بقیه ارتباط داشته باشه اونوقت شما می توانید استاندارد ها رو پیاده کنید(که خیلی هم خوبه) ولی در بقیه موارد آیا لزومی داره که کامپیوتر من با کامپیوتر شما سازگار باشه؟ نه!
من دقیقا متوجه منظورت هستم چه فکری داری . اما همونطور که گفتم چیزهایی که ما میسازیم (نمیخوام بگم بدرد نخورند) کارایی بالایی ندارند ! ولی میتونیم کد منبع رو بگیریم و عمری رو صرف تغییرش دادنش کنیم و نرم افزار یونیک مختص به خودمونو بسازیم ، اما به شرطی که قرار نباشه با بیرون ارتباط داشته باشه چون به محض ارتباط با بیرون باید با زبان قابل فهم برای طرف مقابل ( که همون پروتکل هاست) صحبت کنه و باز همون آش و همون کاسه است .
خب نتیجه چی میشه؟ هر کسی در طول عمرش تا زمان پیری مشغول ساخت چیزیه که مختص خودش باشه در صورتیکه اون برنامه یا ابزار با کارایی بالا وجود داره ! بعد از پیری هم احتمالا کسی از تجربیاتش استفاده نمیکنه و جوونها همه چیزرو از اول تجربه میکنند ، تا وقتی پیر شدند ابزاری داشته باشند که دیگه منسوخ و بدرد نخوره و این چرخه ادامه پیدا میکنه !
-
منم قبول دارم که نرم افزارهای مختلف برای ارتباط با هم باید یک طور عمل کنند ولی همه ی نرم افزار های ما که ارتباظی نیست مثلا مبدل ویدئوی من که با مبدل شما ارتباطی نداره
لزومی نداره که یکی بیاد مثلا کل سیستم ارتباطی رو از اول درست کنه فقط یک تغییر کوچیک کافیه ولی مسئله مهم اینکه چرا کسی تمایل اینکار رو نداره؟ چیزی که اذیتم می کنه اینکه آدما فکر می کنند که گنو/لینوکس الان همون گنو/لینوکس ۲۰ سال پیش هست.(که ایده ی واقعا خطرناکیه چون چیزی که الان باهاش کارمیکنیم غیرقابل اعتماده) به نظر من می بایست با رشد نرم افزار آزاد تنوع زیاد می شد ولی متاسفانه داره کمتر می شه و توجیهی پیدا نمی کنم.