مقدّمة
معمارية تطبيقات المصادر المفتوحة (المجلد الأول)مقدمة
معمارية تطبيقات المصادر المفتوحة (المجلد الأول) مقدمة
Amy Brown وGreg Wilson
إذا استمتعت بهذه الكتب، فقد يعجبك أيضًا التصميم البرمجي بالأمثلة في بايثون (Software Design by Example in Python) والتصميم البرمجي بالأمثلة في جافاسكربت (Software Design by Example in JavaScript).
النجارة حرفةٌ دقيقة، وقد يستغرق الناس حياتهم بأكملها في تعلّم كيفية إتقانها. غير أن النجارة ليست عمارةً (architecture): فإذا ابتعدنا قليلًا عن ألواح الزوايا ووصلات القطع المائلة (miter joints)، تبيّن أن المباني بوصفها كيانًا كاملًا لا بدّ من تصميمها، وأن ذلك فنٌّ مثلما هو حرفة وعلم.
البرمجة بدورها حرفةٌ دقيقة، وقد يستغرق الناس حياتهم بأكملها في تعلّم كيفية إتقانها. غير أن البرمجة ليست معمارية برمجيات (software architecture). فكثير من المبرمجين يقضون سنوات في التفكير في مسائل التصميم الكبرى (أو المصارعة معها): هل ينبغي أن يكون هذا التطبيق قابلًا للتوسعة؟ وإن كان كذلك، فهل يتحقق ذلك بتوفير واجهة سكربت، أم عبر آلية إضافات (plugins) من نوع ما، أم بطريقة مختلفة تمامًا؟ وما الذي ينبغي أن ينفّذه العميل (client)، وما الذي ينبغي تركه للخادم (server)؟ وهل «العميل-الخادم» أصلًا طريقة مفيدة للتفكير في هذا التطبيق؟ هذه ليست أسئلة برمجية، تمامًا كما أن تحديد موضع الدرج ليس سؤالًا من أسئلة النجارة.
تتشارك عمارة المباني مع معمارية البرمجيات في الكثير، غير أن بينهما فرقًا حاسمًا واحدًا. فبينما يدرس المهندسون المعماريون آلاف المباني في تكوينهم وطوال حياتهم المهنية، لا يعرف معظم مطوّري البرمجيات عن قرب إلا حفنة من البرامج الكبيرة. وغالبًا ما تكون تلك برامج كتبوها هم أنفسهم. فهم لا يطّلعون أبدًا على البرامج العظيمة في تاريخ الحوسبة، ولا يقرأون نقدًا لتصاميم تلك البرامج ألّفه ممارسون ذوو خبرة. والنتيجة أنهم يكرّرون أخطاء بعضهم بعضًا بدلًا من أن يبني بعضهم على نجاحات بعضهم.
هذا الكتاب هو محاولةنا لتغيير ذلك. يصف كل فصل معمارية تطبيق مفتوح المصدر: كيف تُبنى بنيته، وكيف تتفاعل أجزاؤه، ولماذا بُني على هذا النحو، وما هي الدروس المستفادة التي يمكن تطبيقها على مسائل تصميم كبرى أخرى. وقد كتب هذه الأوصاف من يعرفون البرمجيات أكثر من غيرهم، ومن أمضوا سنوات أو عقودًا في تصميم التطبيقات المعقّدة وإعادة تصميمها. أما التطبيقات نفسها فتتراوح في حجمها من برامج رسم بسيطة وجداول بيانات عبر الويب إلى حزم أدوات المترجمين (compiler toolkits) وحزم تصوّر بصري بملايين الأسطر. بعضها لا يتجاوز عمره بضع سنوات، بينما يقترب آخر من الذكرى الثلاثين. وما يشتركون فيه هو أن أصحابها قد فكّروا طويلًا وجادّة في تصاميمها، وأنهم مستعدون لمشاركتك تلك الأفكار. نأمل أن تستمتع بما كتبوه.
المساهمون
Eric P. Allman (Sendmail): Eric Allman هو المؤلف الأصلي لـ sendmail وsyslog وtrek، وهو المؤسس المشارك لشركة Sendmail, Inc. وقد كان يكتب البرمجيات مفتوحة المصدر منذ أن كان لهذا المصطلح اسم، وقبل أن يصبح «حركة» (movement) بكثير. وهو عضو في لجنة المراجعة التحريرية (Editorial Review Board) لمجلة ACM Queue، وفي مجلس أمناء Cal Performances. وموقعه الشخصي على الويب هو http://www.neophilic.com/~eric.
Keith Bostic (Berkeley DB): كان Keith عضوًا في مجموعة أبحاث أنظمة الحاسوب (Computer Systems Research Group) بجامعة كاليفورنيا في بيركلي، حيث كان المعماري لإصدار 2.10BSD والمطوّر الرئيسي لإصدار 4.4BSD والإصدارات المرتبطة به. وقد نال جائزة USENIX التقديرية مدى الحياة (Lifetime Achievement Award) («اللهب» (The Flame))، التي تكرّم الإساءات الاستثنائية في مجتمع Unix، كما نال جائزة الإنجاز المتميّز (Distinguished Achievement Award) من جامعة كاليفورنيا في بيركلي مقابل جعل إصدار 4BSD مفتوح المصدر. وكان Keith المعماري وأحد المطوّرين الأصليين لـ Berkeley DB، وهو نظام قواعد بيانات مضمَّن (embedded) مفتوح المصدر.
Amy Brown (تحرير): حصلت Amy على درجة بكالوريوس في الرياضيات من جامعة ووترلو، وعملت في صناعة البرمجيات عشر سنوات. وهي الآن تكتب الكتب وتحرّرها، أحيانًا عن البرمجيات. وتقيم في تورونتو، ولها طفلان وقطّ في غاية القِدَم.
C. Titus Brown (Continuous Integration): عمل Titus في النمذجة التطورية (evolutionary modeling)، وعلم الأرصاد الفيزيائي (physical meteorology)، وعلم الأحياء التنموي (developmental biology)، وعلم الجينوم (genomics)، والمعلوماتية الحيوية (bioinformatics). وهو الآن أستاذ مساعد في جامعة ميشيغان ستيت، حيث وسّع اهتماماته لتشمل مجالات جديدة عدة، منها قابلية إعادة الإنتاج (reproducibility) وقابلية الصيانة (maintainability) للبرمجيات العلمية. وهو أيضًا عضو في مؤسسة Python، ويدوّن على مدونته في http://ivory.idyll.org.
Roy Bryant (Snowflock): على مدى عشرين عامًا في العمل كمعماري برمجيات ومسؤول تنفيذي للتقنية (CTO)، صمّم Roy أنظمة من بينها Electronics Workbench (والمعروف اليوم بـ Multisim من National Instruments) وخط أنابيب بيانات Linkwalker (Linkwalker Data Pipeline)، الذي فاز بجائزة Microsoft العالمية «Winning Customer Award» في الحوسبة عالية الأداء عام 2006. وبعد أن باع شركته الناشئة الأخيرة، عاد إلى جامعة تورونتو لإكمال الدراسات العليا في علوم الحاسوب، مع تركيز بحثي على المحاكاة الافتراضية (virtualization) والحوسبة السحابية (cloud computing). وفي الأحدث، نشر امتداداته المسمّاة Kaleidoscope لـ Snowflock في مؤتمر Eurosys التابع لـ ACM عام 2011. وموقعه الشخصي على الويب هو http://www.roybryant.net/.
Russell Bryant (Asterisk): Russell هو مدير الهندسة لفريق البرمجيات مفتوحة المصدر في شركة Digium, Inc. وقد كان عضوًا أساسيًا في فريق تطوير Asterisk منذ خريف عام 2004. ومنذ ذلك الحين أسهم في تقريب جميع مجالات تطوير Asterisk، بدءًا من إدارة المشروع ووصولًا إلى التصميم المعماري الأساسي وتنفيذه. وهو يدوّن على مدونته في http://www.russellbryant.net.
Rosangela Canino-Koning (Continuous Integration): بعد ثلاثة عشر عامًا من الكدح في ميادين صناعة البرمجيات، عادت Rosangela إلى الجامعة لنيل درجة الدكتوراه في علوم الحاسوب وعلم الأحياء التطوري من جامعة ميشيغان ستيت. وفي وقتها الفارغ الوفير، تحب القراءة والمشي في الطبيعة والسفر، وإجراء تعديلات على البرمجيات مفتوحة المصدر في المعلوماتية الحيوية. وهي تدوّن على مدونتها في http://www.voidptr.net.
Francesco Cesarini (Riak): يستخدم Francesco Cesarini لغة Erlang يوميًا منذ عام 1995، بعد أن عمل في مشاريع متكاملة (turnkey) مختلفة في Ericsson، منها إصدار OTP R1. وهو مؤسس شركة Erlang Solutions ومؤلف مشارك لكتاب Erlang Programming الصادر عن O'Reilly. وهو يعمل حاليًا مديرًا تقنيًا في Erlang Solutions، لكنه لا يزال يجد وقتًا للتدريس للمتدرّسين من طلبة الدراسات العليا وطلبة البكالوريوس على السواء في جامعة أكسفورد بالمملكة المتحدة وجامعة IT في غوتنبرغ بالسمويد.
Robert Chansler (HDFS): Robert مدير أول لتطوير البرمجيات في Yahoo!. وبعد دراساته العليا في الأنظمة الموزعة (distributed systems) بجامعة كارنيغي-ميلون، عمل على المترجمين (compilers) (Tartan Labs)، وأنظمة الطباعة والتصوير (Adobe Systems)، والتجارة الإلكترونية (Adobe Systems, Impresse)، وإدارة شبكات مناطق التخزين (SAN) (SanNavigator, McDATA). وعندما عاد إلى الأنظمة الموزعة وHDFS، وجد Rob مشكلات مألوفة كثيرة، لكن كل الأرقام كانت قد نالت صفرين أو ثلاثة أصفار إضافية.
James Crook (Audacity): James مطوّر برمجيات متعاقد مقيم في دبلن، أيرلندا. وهو يعمل حاليًا على أدوات لتصميم الإلكترونيات، وإن كان في حياة سابقة له قد طوّر برمجيات للمعلوماتية الحيوية. ولديه خطط جريئة كثيرة لـ Audacity، وهو يأمل أن يرى بعضُها على الأقل النور.
Chris Davis (Graphite): Chris مستشار برمجيات ومهندس في Google، وقد صمّم وبنى أدوات قابلة للتوسّع للمراقبة والأتمتة على مدى أكثر من 12 عامًا. كتب Chris الشيفرة الأصلية لـ Graphite عام 2006، وقد قاد المشروع مفتوح المصدر منذ ذلك الحين. وحين لا يكون يكتب الشيفرة، يستمتع بالطبخ وصناعة الموسيقى وإجراء البحوث. وتشمل اهتماماته البحثية نمذجة المعرفة (knowledge modeling)، ونظرية المجموعات (group theory)، ونظرية المعلومات (information theory)، ونظرية الفوضى (chaos theory)، والأنظمة المعقّدة (complex systems).
Juliana Freire (VisTrails): Juliana أستاذة مشاركة في علوم الحاسوب بجامعة يوتا. وقبل ذلك كانت عضوًا في الطاقم الفني بقسم أبحاث أنظمة قواعد البيانات في مختبرات بِل (Lucent Technologies)، وأستاذة مساعدة في OGI/OHSU. وتشمل اهتماماتها البحثية تتبُّع المصدر (provenance)، وإدارة البيانات العلمية، وتكامل المعلومات، واستخراج البيانات من الويب (Web mining). وهي حاصلة على منحة NSF CAREER ومنحة IBM Faculty. وقد موّل أبحاثها كلٌّ من مؤسسة العلوم الوطنية (National Science Foundation)، ووزارة الطاقة، والمعاهد الوطنية للصحة (National Institutes of Health)، وIBM، وMicrosoft، وYahoo!
Berk Geveci (VTK): Berk مدير الحوسبة العلمية في شركة Kitware. وهو مسؤول عن قيادة جهد تطوير ParaView، وهو تطبيق تصوّر بصري حائز على جوائز مبني على VTK. وتشمل اهتماماته البحثية الحوسبة المتوازية واسعة النطاق، والديناميكا الحسابية (computational dynamics)، والعناصر المنتهية (finite elements)، وخوارزميات التصوّر البصري.
Andy Gross (Riak): Andy Gross هو المعماري الرئيسي (Principal Architect) في Basho Technologies، حيث يدير تصميم وتطوير أنظمة تخزين البيانات مفتوحة المصدر والمؤسسية الخاصة بـ Basho. وانضم Andy إلى Basho في ديسمبر 2007 ومعه عشر سنوات من الخبرة في هندسة البرمجيات والأنظمة الموزعة. وقبل Basho، شغل Andy مناصب عليا في هندسة الأنظمة الموزعة لدى Mochi Media وApple, Inc. وAkamai Technologies.
Bill Hoffman (CMake): Bill هو المسؤول التنفيذي للتقنية (CTO) والمؤسس المشارك لشركة Kitware, Inc. وهو مطوّر رئيسي في مشروع CMake، وقد عمل مع الأنظمة الكبيرة المبنية بـ C++ لأكثر من 20 عامًا.
Cay Horstmann (Violet): Cay أستاذ علوم الحاسوب في جامعة سان خوسيه الحكومية، لكنه كلما حلّ الوقت أخذ إجازة من العمل لينضم إلى الصناعة أو ليُدرّس في بلد أجنبي. وهو مؤلف العديد من الكتب عن لغات البرمجة والتصميم البرمجي، والمؤلف الأصلي لبرنامجَي Violet وGridWorld مفتوحي المصدر.
Emil Ivov (Jitsi): Emil هو مؤسس مشروع Jitsi وقائده (سابقًا SIP Communicator). وهو أيضًا مشارك في مبادرات أخرى مثل مشروعَي ice4j.org وJAIN SIP. وحصل Emil على درجة الدكتوراه من جامعة ستراسبورغ في مطلع عام 2008، وقد ركّز منذ ذلك الحين بصفة أساسية على الأنشطة المرتبطة بـ Jitsi.
David Koop (VisTrails): David مرشّح لنيل درجة الدكتوراه في علوم الحاسوب بجامعة يوتا (ومن المتوقّع أن يتخرّج في صيف عام 2011). وتشمل اهتماماته البحثية التصوّر البصري، وتتبُّع المصدر (provenance)، وإدارة البيانات العلمية. وهو مطوّر رئيسي في نظام VisTrails، ومعماري برمجيات أول في شركة VisTrails, Inc.
Hairong Kuang (HDFS) مساهمة ومندوبة (committer) قديمة في مشروع Hadoop، وقد عملت عليه بشغف، وهي حاليًا في Facebook وسابقًا في Yahoo!. وقبل عملها في الصناعة، كانت أستاذة مساعدة في جامعة كاليفورنيا للعلوم والتكنولوجيا في بومونا (California State Polytechnic University, Pomona). ونالت درجة الدكتوراه في علوم الحاسوب من جامعة كاليفورنيا في إرفاين (University of California at Irvine). وتشمل اهتماماتها الحوسبة السحابية، والوكلاء المتنقلين (mobile agents)، والحوسبة المتوازية، والأنظمة الموزعة.
H. Andrés Lagar-Cavilla (Snowflock): Andrés باحث في أنظمة البرمجيات، يُجري أعمالًا تجريبية في المحاكاة الافتراضية (virtualization)، وأنظمة التشغيل، والأمن، والحوسبة التكتلية (cluster computing)، والحوسبة المتنقلة. وقد نال درجة البكالوريوس من الأرجنتين، ودرجتي الماجستير والدكتوراه في علوم الحاسوب من جامعة تورونتو، ويمكن العثور عليه على الإنترنت في http://lagarcavilla.org.
Chris Lattner (LLVM): Chris مطوّر برمجيات تتنوع اهتماماته وخبراته، ولا سيما في مجالات أدوات المترجمين (compiler tool chains)، وأنظمة التشغيل، والرسوميات، وتحويل الصور (image rendering). وهو المصمم والمعماري القائد لمشروع LLVM مفتوح المصدر. ولمزيد من المعلومات عن Chris ومشاريعه، انظر http://nondot.org/~sabre/.
Alan Laudicina (Thousand Parsec): Alan طالب ماجستير في علوم الحاسوب بجامعة وين ستيت، حيث يدرس الحوسبة الموزعة. وفي وقته الفارغ يكتب الشيفرة ويتعلم لغات البرمجة ويلعب البوكر. ويمكنك معرفة المزيد عنه في http://alanp.ca/.
Danielle Madeley (Telepathy): Danielle مهندسة برمجيات أسترالية تعمل على Telepathy وعلى «سحر» آخر لصالح شركة Collabora Ltd. وهي حاصلة على درجتي بكالوريوس في الهندسة الإلكترونية وفي علوم الحاسوب. ولديها أيضًا مجموعة واسعة من بطاريق القماش المحشو. وهي تدوّن على مدونتها في http://blogs.gnome.org/danni/.
Adam Marcus (NoSQL): Adam طالب دكتوراه يركّز على تقاطع أنظمة قواعد البيانات مع الحوسبة الاجتماعية في مختبر علوم الحاسوب والذكاء الاصطناعي في MIT. ويربط عمله الحديث بين أنظمة قواعد البيانات التقليدية وبين التدفقات الاجتماعية (social streams) مثل Twitter، وبين منصات الحوسبة البشرية (human computation) مثل Mechanical Turk. يحب أن يبني أنظمة مفتوحة المصدر قابلة للاستخدام انطلاقًا من نماذجه الأولية البحثية، ويفضّل تتبّع أنظمة التخزين مفتوحة المصدر على التنزهات الطويلة على الشاطئ. وهو يدوّن على مدونته في http://blog.marcua.net.
Kenneth Martin (CMake): Ken يشغل حاليًا منصبَي رئيس مجلس الإدارة والمدير المالي (CFO) في شركة Kitware, Inc.، وهي شركة بحث وتطوير مقرّها الولايات المتحدة. وقد شارك في تأسيس Kitware عام 1998، وساعد منذ ذلك الحين على نمو الشركة حتى موقعها الحالي كإحدى شركات البحث والتطوير الرائدة التي تضمّ عملاء في قطاعات حكومية وتجارية عديدة.
Aaron Mavrinac (Thousand Parsec): Aaron مرشّح لنيل درجة الدكتوراه في الهندسة الكهربائية وهندسة الحاسوب بجامعة ويندسور، حيث يبحث في شبكات الكاميرات، والرؤية الحاسوبية، والروبوتات. وحين يتوفّر له وقت فراغ، يقضي بعضه في العمل على Thousand Parsec وبرمجيات أخرى حرة، وكتابة الشيفرة بـ Python وC، وفعل أمور كثيرة أخرى أكثر مما ينبغي، فلا يتقن أيًّا منها. وموقعه على الويب هو http://www.mavrinac.com.
Kim Moir (Eclipse): تعمل Kim في مختبر IBM Rational Software في أوتاوا بوصفها قائدة هندسة الإصدار (Release Engineering) لمشروعَي Eclipse وRuntime Equinox، وهي أيضًا عضو في مجلس معمارية Eclipse. وتتمحور اهتماماتها حول تحسين البناء (build optimization)، وEquinox، وبناء البرمجيات المعتمدة على المكوّنات (component-based software). وخارج نطاق العمل يمكن العثور عليها وهي تجري مع رفاقها العدّائين استعدادًا لسباق الطريق القادم. وهي تدوّن على مدونتها في http://relengofthenerds.blogspot.com/.
Dirkjan Ochtman (Mercurial): تخرّج Dirkjan بدرجة ماجستير في علوم الحاسوب عام 2010، وقد عمل في شركة ناشئة في القطاع المالي لثلاث سنوات. وحين لا يكون مشغولًا بإضاعة وقته، يبرمج على Mercurial وPython وGentoo Linux وعلى مكتبة CouchDB مكتوبة بـ Python. ويعيش في مدينة أمستردام الجميلة. وموقعه الشخصي على الويب هو http://dirkjan.ochtman.nl/.
Sanjay Radia (HDFS): Sanjay هو معماري مشروع Hadoop في Yahoo!، وهو أيضًا مندوب (committer) لمشروع Hadoop وعضو في لجنة إدارة المشروع (Project Management Committee) لدى مؤسسة Apache. وقبل ذلك شغل مناصب هندسية عليا في Cassatt وSun Microsystems وINRIA، حيث طوّر برمجيات للأنظمة الموزعة وبنى تحتية الحوسبة الشبكية والخدمية (grid/utility computing). ونال Sanjay درجة الدكتوراه في علوم الحاسوب من جامعة ووترلو في كندا.
Chet Ramey (Bash): شارك Chet في bash لأكثر من عشرين عامًا، وأهمها السبعة عشر الماضية بوصفه المطوّر الرئيسي. وهو موظف قديم في جامعة كيس ويسترن ريزرف في كليفلاند بولاية أوهايو، حيث نال درجتي البكالوريوس والماجستير. ويعيش بالقرب من كليفلاند مع عائلته وحيواناته الأليفة، ويمكن العثور عليه على الإنترنت في http://tiswww.cwru.edu/~chet.
Emanuele Santos (VisTrails): Emanuele باحثة في جامعة يوتا. وتشمل اهتماماتها البحثية إدارة البيانات العلمية، والتصوّر البصري، وتتبُّع المصدر (provenance). وقد نالت درجة الدكتوراه في الحوسبة من جامعة يوتا عام 2010. وهي أيضًا مطوّرة رئيسية في نظام VisTrails.
Carlos Scheidegger (VisTrails): Carlos حاصل على درجة الدكتوراه في الحوسبة من جامعة يوتا، وهو الآن باحث في AT&T Labs–Research. وقد فاز Carlos بجوائز أفضل ورقة في مؤتمر IEEE Visualization عام 2007، وفي Shape Modeling International عام 2008. وتشمل اهتماماته البحثية تصوّر البيانات وتحليلها، ومعالجة الهندسة، والرسوميات الحاسوبية.
Will Schroeder (VTK): Will رئيس شركة Kitware, Inc. ومؤسسها المشارك. وقد تلقّى تكوينه كعالِم حاسوبي (computational scientist)، وكان أحد المطوّرين الرئيسيين لـ VTK. وهو يستمتع بكتابة شيفرة جميلة، ولا سيما حين تتعلّق بالهندسة الحاسوبية أو بالرسوميات.
Margo Seltzer (Berkeley DB): Margo أستاذة علوم الحاسوب المعنونة باسم Herchel Smith في كلية الهندسة والعلوم التطبيقية بجامعة هارفارد، وهي أيضًا معمارية في شركة Oracle Corporation. وكانت إحدى المصممات الرئيسيات لـ Berkeley DB، ومؤسِّسة مشاركة لشركة Sleepycat Software. وتتمحور اهتماماتها البحثية حول أنظمة الملفات، وأنظمة قواعد البيانات، والأنظمة المعاملاتية (transactional systems)، واستخراج البيانات الطبية. ونشاطها المهني موثّق على الإنترنت في http://www.eecs.harvard.edu/~margo، وهي تدوّن على مدونتها في http://mis-misinformation.blogspot.com/.
Justin Sheehy (Riak): Justin هو المسؤول التنفيذي للتقنية (CTO) في Basho Technologies، الشركة التي تقف خلف إنشاء Webmachine وRiak. وقبل انضمامه إلى Basho مباشرة، كان عالمًا رئيسيًا (principal scientist) في شركة MITRE، ومعماريًا أولًا للبنية التحتية للنظم في Akamai. وفي كلتا الشركتين ركّز على جوانب متعددة من الأنظمة الموزعة المتينة (robust distributed systems)، منها خوارزميات الجدولة، والنماذج الرسمية المعتمدة على اللغات، والقدرة على التعافي (resilience).
Richard Shimooka (Battle for Wesnoth): Richard باحث مشارك في برنامج دراسات إدارة الدفاع (Defence Management Studies) بجامعة كوينز في كينغستون بولاية أونتاريو. وهو أيضًا نائب المدير (Deputy Administrator) وأمين السر (Secretary) لمشروع Battle for Wesnoth. وقد كتب Richard عدة أعمال تتناول الثقافات التنظيمية للمجموعات الاجتماعية، بدءًا من الحكومات ووصولًا إلى المشاريع مفتوحة المصدر.
Konstantin V. Shvachko (HDFS)، مطوّر قديم في HDFS، هو معماري Hadoop رئيسي في eBay. ويتخصّص Konstantin في بنى البيانات والخوارزميات الكفؤة لأنظمة التخزين الموزعة واسعة النطاق. وقد اكتشف نوعًا جديدًا من الأشجار المتوازنة، S-Trees، للفهرسة المثلى للبيانات غير المهيكلة، وكان المطوّر الرئيسي لنظام ملفات لينكس قائم على S-tree، هو treeFS، وهو نموذج أوّلي لـ reiserFS. ونال Konstantin درجة الدكتوراه في علوم الحاسوب من جامعة دولة موسكو في روسيا. وهو أيضًا عضو في لجنة إدارة المشروع (Project Management Committee) لمشروع Apache Hadoop.
Claudio Silva (VisTrails): Claudio أستاذ كامل (full professor) في علوم الحاسوب بجامعة يوتا. وتتمحور اهتماماته البحثية حول التصوّر البصري، والحوسبة الهندسية، والرسوميات الحاسوبية، وإدارة البيانات العلمية. ونال درجة الدكتوراه في علوم الحاسوب من جامعة ولاية نيويورك في ستوني بروك عام 1996. وفي أواخر عام 2011 سينضم إلى معهد التقنية (Polytechnic Institute) التابع لجامعة نيويورك بوصفه أستاذًا كاملًا في علوم وهندسة الحاسوب.
Suresh Srinivas (HDFS): يعمل Suresh على HDFS بوصفه معماري برمجيات في Yahoo!. وهو مندوب (committer) لمشروع Hadoop وعضو في لجنة إدارة المشروع (PMC) لدى مؤسسة Apache. وقبل انضمامه إلى Yahoo!، عمل في Sylantro Systems حيث طوّر بنية تحتية قابلة للتوسّع لخدمات الاتصال المُستضافة. ونال Suresh درجة بكالوريوس في الهندسة والاتصالات من المعهد الوطني للتقنية في كارناتاكا (National Institute of Technology Karnataka)، الهند.
Simon Stewart (Selenium): يعيش Simon في لندن ويعمل مهندس برمجيات للاختبار (Software Engineer in Test) في Google. وهو مساهم أساسي في مشروع Selenium، ومنشئ WebDriver، ومتحمس لمصادر المصدر المفتوحة. ويحرص Simon على البيرة وعلى كتابة برمجيات أفضل، أحيانًا في الوقت نفسه. وصفحته الشخصية على الإنترنت هي http://www.pubbitch.org/.
Audrey Tang (SocialCalc): Audrey مبرمجة ومترجمة تعلّمت مهنتها ذاتيًا، وهي مقيمة في تايوان. تعمل حاليًا في Socialtext، حيث لقب وظيفتها هو «Untitled Page»، كما تعمل لدى Apple كمتعاقدة في التعريب وهندسة الإصدار. وقد صمّمت وقادت مشروع Pugs، وهو أول تطبيق عامل للغة Perl 6؛ كما خدمت في لجان تصميم اللغات لـ Haskell وPerl 5 وPerl 6، وأسهمت إسامات عديدة في CPAN وHackage. وهي تدوّن على مدونتها في http://pugs.blogs.com/audreyt/.
Huy T. Vo (VisTrails): ينوي Huy نيل درجة الدكتوراه من جامعة يوتا في مايو 2011. وتشمل اهتماماته البحثية التصوّر البصري، ومعمارية تدفّق البيانات (dataflow architecture)، وإدارة البيانات العلمية. وهو مطوّر أول في شركة VisTrails, Inc. كما يشغل منصب أستاذ مساعد للبحث في معهد التقنية التابع لجامعة نيويورك.
David White (Battle for Wesnoth): David هو مؤسس المشروع والمطوّر الرئيسي لـ Battle for Wesnoth. وقد شارك David في عدة مشاريع ألعاب فيديو مفتوحة المصدر، منها Frogatto التي شارك في تأسيسها أيضًا. وDavid مهندس أداء (performance engineer) في شركة Sabre Holdings، وهي من الرواد في تقنيات السفر.
Greg Wilson (تحرير): عمل Greg على مدى الخمسة والعشرين سنة الماضية في الحوسبة العلمية عالية الأداء، وتصوّر البيانات، وأمن الحاسوب، وهو مؤلف أو محرّر لعدة كتب في الحوسبة (منها Beautiful Code الحائز على جائزة Jolt عام 2008) وكتابَين للأطفال. ونال Greg درجة الدكتوراه في علوم الحاسوب من جامعة إدنبرة عام 1993. وهو يدوّن على مدونته في http://third-bit.com وhttp://software-carpentry.org.
Tarek Ziadé (Python Packaging): يعيش Tarek في بورغوندي بفرنسا. وهو مهندس برمجيات أول في Mozilla، يبني خوادم بـ Python. وفي وقته الفارغ يقود جهد التغليف (packaging) في Python.
شكر وتقدير
نودّ أن نشكر مراجعينا:
| Eric Aderhold | Muhammad Ali | Lillian Angel |
|---|---|---|
| Robert Beghian | Taavi Burns | Luis Pedro Coelho |
| David Cooper | Mauricio de Simone | Jonathan Deber |
| Patrick Dubroy | Igor Foox | Alecia Fowler |
| Marcus Hanwell | Johan Harjono | Vivek Lakshmanan |
| Greg Lapouchnian | Laurie MacDougall Sookraj | Josh McCarthy |
| Jason Montojo | Colin Morris | Christian Muise |
| Victor Ng | Nikita Pchelin | Andrew Petersen |
| Andrey Petrov | Tom Plaskon | Pascal Rapicault |
| Todd Ritchie | Samar Sabie | Misa Sakamoto |
| David Scannell | Clara Severino | Tim Smith |
| Kyle Spaans | Sana Tapal | Tony Targonski |
| Miles Thibault | David Wright | Tina Yee |
ونودّ أيضًا أن نشكر Jackie Carter، التي ساعدت في المراحل الأولى من التحرير.
صورة الغلاف صورة فوتوغرافية التقطها Peter Dutton للجداريات المسمّاة 48 Free Street Mural من ابتكار Chris Denison في بورتلاند بولاية مين. والصورة مرخَّصة بموجب رخصة Creative Commons Attribution-NonCommercial-ShareAlike 2.0 Generic.
الإهداء
إلى Brian Kernighan، الذي علّمنا جميعًا الكثير؛ وإلى سجناء الضمير في كل مكان.