The biggest differences between enterprise and the free version are:
- Easy install
- The PE Web portal
Puppet does not call home or tattle tell on the system. The folks at puppet labs are too busy selling software and innovating to take the time and try and punish people who might be misusing it.
In all practicality, you can run the open source edition of puppet with the free puppet web portal with no problems. Many companies I've worked with do just that.
To address your question of how puppet can afford to give away part of their product for free; consider that there is value in people having a community. Puppet's entire product and market share become more valuable with the more people that they have using the software. Two big examples are
- having people write modules. Every new module makes the puppet eco system more valuable.
- momentum: If people at small companies use puppet, they likely will continue to use puppet when they move to new bigger companies.
There is an interesting book that goes further into how this is a viable business model called "Free the future of a radical price"
As a general rule, enterprise software companies only want to deal with the big fish. If your company is doing millions of dollars in business, you can't afford not to pay for enterprise level support.
If your company is small enough that it is worth saving the few thousands of dollars that you would normally spend on puppet support, then you aren't really a customer that puppet would make a lot of money on anyway. Really, puppet labs looses nothing by letting small companies use their software for free.
As for setting up the free web portal, it is encouraged. I know several companies with hundreds of servers who are able to get buy on the free version with the free web portal.