Per Microsoft in fact the upgrade from Windows 7, 8.1, and 8.1 Phone will be free within the first year of Windows 10 release. So as long as you upgrade within the first year you will not have to pay for Windows 10.
Going forward Microsoft plans to change for the initial license for Windows 10, but the all further updates or upgrades will be of no cost.
It should be noted that Windows 10 is not a free product, and Microsoft will charge for new systems, and for upgrades after the 1 year mark. Below is the relevant quotes from Microsoft’s website that seem to state everything clearly:
Delivering Windows as a Service and a Free Upgrade to Windows 10
Today was a monumental day for us on the Windows team because we shared our desire to redefine the relationship we have with you – our customers. We announced that a free upgrade for Windows 10 will be made available to customers running Windows 7, Windows 8.1, and Windows Phone 8.1 who upgrade in the first year after launch.*
This is more than a one-time upgrade: once a Windows device is upgraded to Windows 10, we will continue to keep it current for the supported lifetime of the device – at no cost. With Windows 10, the experience will evolve and get even better over time. We’ll deliver new features when they’re ready, not waiting for the next major release. We think of Windows as a Service – in fact, one could reasonably think of Windows in the next couple of years as one of the largest Internet services on the planet.
And just like any Internet service, the idea of asking “What version are you on?” will cease to make sense – which is great news for our Windows developers. With universal Windows apps that work across the entire device family, developers can build one app that targets the broadest range of devices – including the PC, tablet, phone, Xbox, the Internet of Things, and more.
To read the full posting go here: http://blogs.windows.com/bloggingwindows/2015/01/21/the-next-generation-of-windows-windows-10/