Люди часто задаются вопросом: как группы, занимающиеся разработкой ПО с открытым исходным кодом, финансируют свою деятельность. Один из способов — найти другие источники доходов, а не только через продажу программного обеспечения, являются контракты на поддержку и настройку услуг. Другой способ заключается в разработке базовой инфраструктуры, на которой можно построить другую деятельность — самым последним примером является операционная система Android, которая сейчас используется во многих смартфонах.
Партнерство Eucalyptus и Amazon показывает еще один способ. Облачные вычисления и программное обеспечение с открытым исходным кодом получили новый импульс с объявлением Amazon о партнерстве между подразделением Amazon Web Services и Eucalyptus – провайдера сервисов с открытым исходным кодом. Долгое время Amazon действовал антагонистично к использованию открытого программного обеспечения на своих облачных сервисах. Теперь Amazon обеспечит Eucalyptus полной поддержкой для обеспечения совместимости между облачными предложениями Eucalyptus и API от Amazon Web Services.
Облачные вычисления — технологии, которые используют ресурсы компьютера, независимо от типа, как услугу, исходящую из интернета, тесно связаны с концепцией открытого программного обеспечения. Многие детали облачных вычислений обрабатываются программными продуктами, созданными с открытым исходным кодом.
Открытое ПО определённо лучше модифицируется и распространяется, чем любой коммерческий закрытый программный продукт. Главной идеей является то, что любой пользователь может изменить программное обеспечение по своему усмотрению для собственного пользования, не беспокоясь о нарушении лицензии или вопросах авторского права – ПО с открытым исходным кодом поставляется с бесплатной лицензией, которая позволяет такие модификации. Другой важной особенностью является совместный способ, которым программное обеспечение разрабатывается сообществами программистов и ориентируется на конкретные аспекты вычислений. Облачные системы, разработанные с открытым исходным кодом, должны придерживаться трех основных принципов проектирования таких систем: масштабируемость, богатство функций и простота реализации.