In the same way that open source developers work to the same platform and can share and exchange bug fixes, insights and innovations, so hosted cloud runtime platforms commonly known as platform-as-a-service allow developers to share knowledge and swap code. In some ways, PaaS gives them even more freedom to collaborate on and exchange their work, because there's only one instance of the platform and so everyone's code is effectively guaranteed to run first time on any implementation.
The paradox of PaaS is that the collaborative freedom that comes from sharing the same operational instance comes at a price. There is only one instance, and it's operated by the owner of the platform. So all the developers are completely locked into that platform. There's no escape, unless you're prepared to completely re-engineer your application to run on an entirely different platform.
Why would anyone give up that freedom? The answer is that sharing a single operational instance that's open and shared by allcomers on the Web brings enormous benefits in terms of collective scrutiny and innovation. I often hear discussions about cloud computing and SaaS that completely ignore this aspect, as if people think that virtualization and a pay-as-you-go model are the sole definition of cloud computing. In fact, exposure to the public Web environment is the most crucial element in making cloud computing such a compelling proposition. Look at the rapid innovation of sector leaders like Salesforce.com at the PaaS and SaaS layer or Amazon Web Services in IaaS (infrastucture as a service) and you begin to understand that having thousands of hugely diverse customers all poking, prodding and extending a platform has an enormous impact on its ability to evolve and strengthen.
But some people are wondering whether there isn't another way of achieving the same result. By combining the open source model with PaaS, perhaps they can reap the benefits of having a single shared operational platform while still retaining the option of moving from one provider to another (or even in-house). That thinking explains the success of open-source PaaS providers like Heroku and has motivated the creation of open-source PaaS platforms like WaveMaker.
People with an open source background prefer this solution because they instinctively distrust the idea of proprietary platforms controlled by a single vendor. The open source movement has demonstrated the ability of software to move ahead at a rapid pace of innovation when many top developers all have a stake in moving the code forward.
On the other hand, people with a strong SaaS background are uncomfortable about a model that however much you may try to keep every operational instance in sync with all the others still necessarily 'forks' those implementations in small ways, since every instance is bound to do things slightly differently. (In fact, providers may actively choose to do some things differently or at least appeal to different types of customers as a way to differentiate their offering).
For myself, I lean in favor of the SaaS aficianados (SaaSianados?), because I believe that having a single shared operational instance across so many different use cases is enormously powerful, in ways we don't yet fully understand. But I acknowledge that a very strong argument can be made from the other perspective. Market forces also have a part to play, since the vast majority of developers are highly reluctant to adopt platforms from which they can perceive no practical exit route. Therefore the open source answer to the PaaS paradox will have considerable market appeal for a good few years yet.