মুক্ত সফটওয়্যারের ইতিহাস
১৯৮৩ সালে রিচার্ড স্টলম্যান গ্নু প্রকল্প চালু করেন। সোর্স কোড ব্যবহার করার ক্ষেত্রে কোনো ধরনের বিধিনিষেধ থাকবে না এমন একটি অপারেটিং সিস্টেম তৈরীর উদ্দেশ্য থেকেই এই প্রকল্পটি শুরু করা হয়। একটি অপ্রশলিত প্রিন্টার কনফিগার করতে না পারার পরই তিনি এই ধরনের কাজে উদ্বুদ্ধ হন, এর কনফিগার করতে না পারার কারণ ছিল যে অপারেটিং সিস্টেমের সোর্স কোড সফটওয়্যার ব্যবহারকারীদের জন্য উন্মুক্ত ছিল না। ১৯৮৫ সালে রিচার্ড স্টলম্যান গ্নু ইশতেহার প্রকাশ করেছিলেন, যেখানে গ্নু প্রকল্পের একটি রূপরেখা বর্ণনা করা হয়ছিল এবং সেখানে মুক্ত সফটওয়্যারের গুরুত্বও উল্লেখ করা হয়। আরও একটি বিষয় রিচার্ড স্টলম্যানকে গ্নু প্রকল্প এবং গ্নু ইশতেহার প্রকাশে উদ্বুদ্ধ করেছিল আর সেটি হল স্টলম্যান এবং সিম্বোলিকস ইনকর্পোরেটেডের চুক্তিভঙ্গ।
জাভা (প্রোগ্রামিং ভাষা)
James Gosling, Mike Sheridan, এবং Patrick Naughton ১৯৯১ সালের জুনে জাভা ল্যাঙ্গুয়েজ প্রোজেক্ট শুরু করেন। প্রাথমিকদিকে জাভা ল্যাঙ্গুয়েজকে "ওক(Oak)" বলা হত। জেমস গসলিং এর অফিসের বাহিরের ওক গাছের সাথে মিল রেখে এই নাম রাখা হয়। এরপর এর নাম রাখা হয় "গ্রীন" এবং অবশেষে জাভা কফির সাথে মিল রেখে "জাভা"তে পরিবর্তন করা হয়। 
১৯৯৫ সালে সান মাইক্রোসিস্টেমস জাভা-১.০ প্রকাশ করেন। তাদের মূলনীতি ছিল "একবার লিখুন, যে কোনো জায়গায় চালান (Write Once, Run Anywhere or WORA)"।
জাভার উল্লেখযোগ্য সংস্করণের মধ্যে অন্যতম হল -java=== বহনযোগ্যতা (portability) ===
জাভা'র পূর্বতন প্রোগ্রামিং ভাষাগুলিতে সাধারণত এক অপারেটিং সিস্টেমের জন্য লেখা প্রোগ্রাম অন্য অপারেটিং সিস্টেম এ চালানো যেত না। জাভায় লেখা প্রোগ্রাম যেকোন অপারেটিং সিস্টেমে চালানো যায় শুধু যদি সেই অপারেটিং সিস্টেমের জন্য একটি জাভা রানটাইম এনভায়রনমেন্ট(জাভা ভার্চুয়াল মেশিন)থেকে থাকে। এই সুবিধা জাভাকে একটি অনন্য প্ল্যাটফর্মে পরিণত করে। বিশেষ করে ইন্টারনেটে, যেখানে অসংখ্য কম্পিউটার যুক্ত থাকে এবং কম্পিউটারগুলো বিভিন্ন অপারেটিং সিস্টেম ব্যবহার করে থাকে সেখানে জাভায় লেখা অ্যাপলেট গুলো সকল কম্পিউটারে চলতে পারে এবং এর জন্য কোন বিশেষ ব্যবস্থা নিতে হয় না। জাভা'র এই সুবিধাকে বলা হয় বহনযোগ্যতা।