روش های طراحی و پیاده سازی Web GIS
متن باز یا تجاری؟ مسئله این است!
پیشتر در نوشته “سیستم اطلاعات جغرافیایی متن باز” شما را با GIS متن باز یا سامانه اطلاعات مکانی متن باز (به انگلیسی Open Source GIS)، آشنا کردیم و فلسفه به وجود آمدن نرم افزارها و ابزارهای متن باز در زمینه GIS را توضیح دادیم. در این نوشته می خواهیم شما را با دو روش پیاده سازی Web GIS، با استفاده از ابزارهای متن باز و تجاری، آشنا کنیم. با ما همراه باشید.
متن باز و تجاری یعنی چه؟
نرم افزارهای مورد استفاده در بخش های مختلف یک سامانه Web GIS را می توان به دو دسته تجاری و آزاد تقسیم کرد. یعنی شما برای راه اندازی سامانه Web GIS می توانید دو رویکرد داشته باشید. یا از نرم افزارها و ابزارهای تجاری استفاده می کنید و یا از نرم افزارها و ابزارهای متن باز. در این نوشته ما مروری بر این دو روش خواهیم داشت.
نرم افزارهای تجاری، آن دسته از نرم افزارها هستند که شما برای استفاده از آنها می بایست پول پرداخت کرده تا پروانه بهره برداری (به انگلیسی License) آنرا خریداری نمایید.
نرم افزارهای آزاد، آن دسته از نرم افزارها هستند که شما برای استفاده از آن ها هیچ هزینه ای پرداخت نمی کنید. این نرم افزارها بیشتر بصورت متن باز (به انگلیسی Open Source) منتشر می شوند. بدین معنا که شما علاوه بر استفاده رایگان از آن ها، می توانید کد منبع (به انگلیسی Source Code) آنها را نیز دریافت نموده و بسته به نیاز خود، تغییراتی را در آن ها اعمال نمایید.
در این نوشته، قصد نداریم این دو دسته نرم افزار را با هم مقایسه کنیم و به بررسی مزایا و معایب آنها بپردازیم، چراکه نیاز به آموزش جداگانه ای دارند. قصد داریم بزودی در سایت GISPlus، سلسله نوشته های آموزشی را منتشر کنیم تا بتوانید به یادگیری در زمینه نرم افزارهای آزاد مکانی (به انگلیسی Open Geospatial Software) و توسعه سامانه اطلاعات مکانی متن باز (به انگلیسی Open Source GIS) بپردازید.
برای بهرمندی از این آموزش ها می توانید به رایگان در کلاس آموزش Web GIS، شرکت کنید تا نوشته های آتی برای شما ارسال شوند.
مقدمه ای بر متن باز
با پیشرفت روز افزون GIS و استفاده گسترده از آن در پردازش، تجزیه و تحلیل دادههای مکانی و همین طور تصمیمگیریهای بهینه در مسایل مدیریتی، شرکتهای بزرگ نرمافزاری اقدام به تولید نرمافزارهای کامل و جامعی در این زمینه، نمودند. برای استفاده از این نرم افزارها می بایست هزینه های بالای خریداری این نرمافزارها را متحمل شد.
همچنین وجود انحصار و وابستگی به برخی شرکت ها، عدم امکان دسترسی به کد برنامهها و عدم امکان دستکاری آنها و برخی دلایل دیگر، بسیاری از متخصصان و برنامه نویسان را به توسعه نرمافزارهای متنباز در حوزه سامانه اطلاعات مکانی، تشویق نمود تا دنیای جدیدی فراروی استفادهکنندگان از این نرمافزارها، باز شود.
توسعه سامانه اطلاعات مکانی متنباز، با توجه به تاریخچه نرمافزارها، سابقه طولانی دارد، به طوری که اولین سامانه در سال 1978 بوجود آمد. امروزه سامانه های متنباز زیادی وجود دارد که تمامی جنبههای کار با دادههای مکانی را پوشش میدهند و استفاده از آنها، بسیاری از نیازهای کاربران در سراسر جهان را برآورده میسازد.
متن باز در برابر تجاری
واژه متنباز (به انگلیسی Open Source)، در مقابل واژه متنبسته (به انگلیسی Closed Source)، در واقع روشی برای تولید و انتشار نرمافزار است. اغلب به اینگونه نرمافزارها، نرمافزارهای آزاد متنباز یا Free Open Source Software یا به اختصار FOSS گفته میشود.
به زبان ساده، هر برنامه رایانهای که اجرا میکنیم، قبلا توسط یک یا چند برنامه نویس تولید شده و به یک برنامه قابلاجرا در محیط یک سیستمعامل تبدیل میشود. در ابتدای تولید نرمافزار (دهه ۷۰ میلادی) برنامههای رایانهای به همراه کدهای برنامه نویسی منتشر میشدند و استفادهکنندگان از نرمافزارها مشکلی برای تغییر آنها نداشتند. از اواخر دهه ۷۰ میلادی، تولیدکنندگان نرمافزار، شروع به بستن کدهای برنامه نویسی کردند و به مشتریان گفتند که نمیتوانید کد را ببینید و برای هر تغییری که در نرمافزار لازم دارید، باید از ما سرویس بگیرید. Microsoft اولین شرکت با ایده نرمافزارهای اختصاصی بود.
به عنوان یک نمونه از نرمافزارهای اختصاصی میتوان به سیستمعامل Windows اشاره کرد و بهعنوان یک نمونه از نرمافزارهای آزاد متنباز میتوان از سیستم عامل Linux نام برد.
گروه اولیه ای که ایده متنباز را مطرح کردند (به انگلیسی Open Source Initiative) یا به اختصارOSI، تعریفی از نرمافزار متنباز در 9 عبارت ارائه دادهاند:
- نرمافزار باید بدون نیاز به حق امتیاز یا هرگونه پرداختی برای فروش، امکان توزیع به صورت آزاد را داشته باشد.
- کد منبع باید در دسترس باشد؛ اگر توزیع نرمافزار شامل کد منبع نیست، برنامهنویس باید بتواند نرمافزار را به راحتی پیدا کند، تا امکان تغییر آنرا داشته باشد(برای مثال از یک صفحهی وب، قابل download باشد.)
- اعمال تغییرات و کارهای بعدی روی برنامه امکانپذیر باشد و این برنامههای جدید را باید بتوان تحت همان شرایط برنامهی اولیه و نرمافزار اصلی تکثیر کرد.
- نگهداری تمامیت کد منبع اولیه، چه با نیاز به تغییر جهت توزیع به عنوان فایلهای وصلهای و چه با نیاز به وجود نگارشهای متفاوت، ممکن باشد.
- هیچگونه تبعیض و تمایزی بین اشخاص و گروهها وجود نداشته باشد.
- هیچگونه تبعیض و تمایزی بین هر فعالیتی که در راستای نرمافزار انجام میگیرد، وجود نداشته باشد.
- اجازهنامه باید به هر کسی که یک کپی از برنامه را دریافت میکند، نیز اختصاص یابد؛ بدون اینکه آنها نیاز به توافق و هماهنگی با اجازهنامهی دیگری داشته باشند.
- اجازهنامه نباید به محصول یا توزیع خاصی اختصاص داشته باشد.
- اجازهنامه، نباید به دیگر نرمافزارهایی که در طول پروژهی مجوزگرفتهی جاری، توزیع و تکثیر شدهاند، تعلق بگیرد.
با نرمافزارهای متنباز به طور کلی هر کسی این امکان را دارد که اصلاحاتی در نرمافزار ایجاد کند، آن را به سیستمهایعامل جدید و معماریهای پردازشگر انتقال دهد، با دیگران به اشتراک بگذارد و یا در برخی موارد، آن را بازاریابی کند. «کاسون» و «ریان» دو دانشمندی بودهاند که دلایل اصولی زیر را برای استفاده از نرمافزارهای متنباز ذکر کردهاند:
- امنیت
- مقرون به صرفه بودن
- شفافیت
- دوام
- قابلیت همکاری با نرمافزارهای دیگر
- متناسبسازی با سیستمهای داخلی کشورها
چرا متن باز
گزارشی از موسسه تحقیقاتی Standish Group نشان میدهد که استفاده از مدلهای نرمافزار متنباز، سالانه به صرفهجویی حدود ۶۰ میلیارد دلاری برای مصرفکنندگان منجر میشود. اما در حالی که بسیاری از کسبوکارها و سازمانهای دولتی اکنون از نرم افزارهای متنباز مانند Linux استفاده میکنند، مشخص است که مزیت این نرمافزارها صرفا به قیمت پایین¬شان محدود نیست. اگر اینگونه بود، شرکتهایی که طی رکود بزرگ اقتصادی اخیر، این نرمافزارها را در اختیار داشتند، به محض آغاز روند بهبود شرایط اقتصادی، به نرمافزارهای گرانقیمت اختصاصی روی میآوردند.
نرمافزارهای متنباز، مزایای متعدد دیگری برای کسبوکارها دارند که برخی از آنها با ارزشتر از قیمت پایین این نرمافزارها است. با این حال، کارشناسان و محققان این حوزه، معایبی را نیز برای این نرمافزارها شناختهاند که در ادامه به ذکر برخی از آنها میپردازیم.
مزایای متن باز
مهمترین مزیت این نرمافزارها، این است که به کسبوکارها کمک میکنند که نفوذ بیشتری در بازار داشته باشند. شرکتهایی که از نرمافزارهای متنباز استفاده میکنند، میتوانند یک استاندارد صنعتی ایجاد کرده و بنابراین به مزیت رقابتی دست یابند. همچنین وفاداری به تولیدکنندگان این نرمافزارها، به دلیل احساس مالکیت آنها در مورد محصول نهایی، حفظ میشود. به علاوه برای نرمافزارهای متن باز، هزینههای بازاریابی و خدمات لجستیکی کمتری صرف میشود و به شرکتها کمک میکند همواره در برابر پیشرفتهای تکنولوژی، آگاه و بهروز باشند.
این نرمافزارها، ابزارهای مناسبی برای ارتقای وجهه و محصولات بازرگانی شرکتها محسوب میشوند. از دیگر مزایای این نرم افزارها ایجاد پتانسیلی برای استفاده از تکنولوژی انعطافپذیرتر و نوآوری سریعتر است. انعطافپذیر است چون سیستمهای ماژولار، این امکان را برای برنامهنویسها ایجاد میکنند که مثلا تواناییهای جدید را به برنامه بیفزایند و نوآورانه است چون برنامههای متنباز، حاصل همکاری میان تعداد زیادی از برنامهنویسان مختلف است و ترکیب چشماندازهای گوناگون و اهداف شرکتی و شخصی، نوآوری را سرعت میبخشد. اعتبار این نرمافزارها از آنجایی است که هزاران برنامهنویس مستقل میتوانند اشکالات نرمافزار را آزمایش و برطرف کنند. در نهایت، نرمافزارهای آزاد میتوانند همراستا با نیازمندیهای صرف فنی ایجاد شوند و نیاز به در نظر گرفتن فشارهای تجاری را که اغلب کیفیت نرم افزارها را کاهش میدهند، ندارند. این فشارها باعث میشوند، تولیدکنندگان نرم افزارهای قدیمی به جای اینکه به ملزومات امنیتی توجه کنند، توجه بیشتری به نیازهای مشتری داشته باشند، چون نیازهای امنیتی اغلب از دید مشتری پنهان است. نرمافزارهای آزاد، از نظر کاربری، مزایایی دارند. از جمله این مزایا میتوان موارد زیر را برشمرد:
- عدم وابستگی به فروشنده
- امکان برطرف کردن اشکالات در محل
- امکان افزودن امکانات جدید مورد نیاز کاربر
- آزادی و نیز کسب درآمد از کار دیگران
از نظر تولید کننده نیز مزایای متعددی میتوان برشمرد. از جمله اینکه:
- برنامه در دسترس عده بیشتری قرار میگیرد
- اشکالات برنامه سریعتر پیدا میشود
- برنامه به سرعت، بهتر و بهتر میشود
- تولید کننده بهتر میتواند تواناییهای خود را نشان دهد
همچنین سایر آزادیهایی که به تولیدکنندگان این نرمافزارها داده میشود، از جملهی این مزایا میباشند. استفاده مجدد از کد، زمان تولید و توسعه را کاهش میدهد و نتایجی قابل پیشبینی فراهم میآورد. با دسترسی به کد منبع، عمر سیستمهای متنباز و ارتقای آنها به طور نامتناهی قابل افزایش است.
معایب متن باز
گاهی اوقات، گفته میشود که فرآیند توسعه متنباز ممکن است به خوبی تعریف نشود و مراحل فرآیند توسعه، مانند آزمودن سیستم و مستندسازی آن ممکن است نادیده گرفته شود. به هر حال، این مساله فقط در رابطه با پروژههای کوچک صدق میکند.
به علاوه، برخی از نرمافزارهای معرفیشده متنباز، به قدری ناموفق بودهاند که کارشناسان و محققان نرمافزار، هنوز نسبت به توانایی نرمافزارهای متنباز برای تولید سیستمهای کیفی، مجاب نشدهاند. مهمترین مشکلات این نرمافزارها را فرآیند مبهم، تاخیر در عیبیابی و عدم وجود سند تجربی دانستهاند. همچنین طراحی یک مدل کسبوکار تجاری بدون عیب و نقص طبق الگوی متنباز، کار مشکلی است. از نظر امنیتی نیز، نرمافزارهای متنباز در مقایسه با دیگر نرمافزارها، ممکن است به نفوذگرها اجازه دهند در مورد ضعفها یا روزنههای برنامه، راحتتر اطلاعات به دست آورند.
- عدم وابستگی به فروشنده
- امکان برطرف کردن اشکالات در محل
- امکان افزودن امکانات جدید مورد نیاز کاربر
- آزادی و نیز کسب درآمد از کار دیگران
چرا سامانه اطلاعات مکانی متن باز؟
اولین سامانههای اطلاعات مکانی متنباز، از سال 1978 توسعه داده شدند. نرمافزار MOSS (خلاصه شده Map Overlay and Statistical System) به عنوان یکی از نرمافزارهای پیشگام، توسط وزارت کشور ایالات متحده، توسعه یافت. این نرمافزار بصورت متنباز بود و توانایی کار با دادههای مکانی برداری (به انگلیسی Vector) را داشت. این نرمافزار، هم اکنون نیز قابل دریافت از اینترنت میباشد. از سال 1982 تا کنون نرمافزار GRASS GIS (خلاصه شده Geographical Resources Analysis Support System) به عنوان اولین نرمافزار اطلاعات مکانی متنباز که به مرحله تولید رسید و توانست با انواع دادههای مکانی بصورت بردار و تصویر (به انگلیسی Raster) کار نماید. این نرمافزار از ابتدا در مهندسی تولید ارتش ایالات متحده شروع به توسعه نمود و سپس در دانشگاههای مختلفی در جهان استفاده شد. در سالهای بعد نیز به مرور، نرمافزارهای متنباز دیگری تولید شدند.
در سال 1992، اولین سازمان حامی سامانههای اطلاعات مکانی متنباز با نام بنیاد آزاد GRASS یا Open GRASS Foundation به اختصار OGF تاسیس شد. دو سال پس از آن، OGF ساختاردهی مجدد شد و تحت عنوان کنسرسیوم آزاد مکانی یا Open Geospatial Consortium به اختصار OGC به فعالیت خود ادامه داد. در سال 2006، بنیاد متنباز مکانی یا Open Source Geospatial Foundation به اختصار OSGeo با هدف پشتیبانی از توسعه و گسترش استفاده از سامانههای اطلاعات مکانی متنّباز، تاسیس گردید. در نوشته های آتی، با این دو سازمان بیشتر آشنا خواهیم شد.
سخن پایانی
در این نوشته تلاش کردیم شما را با دو روش پیاده سازی سامانه اطلاعات مکانی تحت وب ، آشنا کنیم. هریک از این روش ها دارای مزایا و معایب هستند که در این نوشته به آنها اشاره شد. در حال حاضر، ابزارهای تجاری به بلوغ خوبی از لحاظ قابلیت ها دست یافته اند. اما در بسیاری از موارد، نیازمندی های کاربران توسط این ابزارها پوشش داده نمی شوند و ناچار به سفارشی سازی و یا توسعه یک سامانه Web GIS می شوند. اینجاست که هر دو رویکرد تجاری و متن باز با یکدیگر در مقام مقایسه قرار می گیرند و این پرسش مطرح می شود که بهتر است برای برنامه نویسی Web GIS، از کدام رویکرد استفاده کرد؟ در نوشته های آتی قصد داریم این مبحث را بیشتر توضیح دهیم.
همچنین به دور از هرگونه تعصب بر روی تکنولوژی یا ابزار خاص، ما در یک دهه گذشته بصورت تخصصی اقدام به توسعه سامانه اطلاعات مکانی تحت وب و همچنین سامانه اطلاعات مکانی تحت موبایل (Web GIS و Mobile GIS) با رویکرد استفاده از ابزارهای متن باز نموده ایم و در این زمینه پروژه هایی در مقیاس متوسط و بزرگ را برای سازمان های مختلف به انجام رسانیده ایم. ما در نوشته های آتی، آموخته های خود در این زمینه را با شما به اشتراک خواهیم گذاشت.