The controversial Data Retention and Investigatory Powers Bill, which extends government and security services' surveillance powers, has been overwhelmingly passed in the House of Commons with all-party support.
The "emergency legislation" was rushed through the Commons after the European Court of Justice ruled in April that key parts of the European Union Data Retention Directive - and, by extension, key sections of the Regulation of Investigatory Powers Act (RIPA) 2000, were illegal.
The Bill was passed by 438 votes to 51, but opponents have criticised both the speed with which the Bill was passed in the Commons, with barely any debate, as well as the extension of surveillance powers and the all-party support that stifled debate and potential opposition.
Opponents say that it provides an ex-facto legal basis for a multiplicity of GCHQ surveillance programmes, such as Tempora, which were exposed by US National Security Agency whistleblower Edward Snowden.
GCHQ's Tempora programme enabled GCHQ to tap transatlantic fibre-optic communications cables so that it could spy on global internet traffic as it passed over infrastructure in UK territory.
Fifteen legal experts warned that the new Bill would still be incompatible with European law - although the pace with which such challenges proceed means it might be five years before it is struck down.
The Bill was opposed by just 51 MPs, including David Davis, who spoke out strongly against the Bill, London MP Kate Hoey, all six Scottish National Party MPs, the Green's Caroline Lucas and a handful of Liberal Democrats.
The Bill will now pass to the House of Lords for their approval, although it is highly unlikely that there will be much further opposition before it goes on the statute books.
Sometimes, the power of the mainframe is the most cost effective answer. Computing's Peter Gothard puts Computing's readers' questions on the future of the mainframe to IBM's Z13 expert Steven Dickens.
This Dummies white paper will help you better understand business process management (BPM)