/** * A simple set of functions to check our version 1.0 update service. * * @package WordPress * @since 2.3.0 */ /** * Check WordPress version against the newest version. * * The WordPress version, PHP version, and Locale is sent. Checks against the * WordPress server at api.wordpress.org server. Will only check if WordPress * isn't installing. * * @since 2.3.0 * @uses $wp_version Used to check against the newest WordPress version. * * @param array $extra_stats Extra statistics to report to the WordPress.org API. * @param bool $force_check Whether to bypass the transient cache and force a fresh update check. Defaults to false, true if $extra_stats is set. * @return mixed Returns null if update is unsupported. Returns false if check is too soon. */ function wp_version_check( $extra_stats = array(), $force_check = false ) { if ( defined('WP_INSTALLING') ) return; global $wpdb, $wp_local_package; include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version $php_version = phpversion(); $current = get_site_transient( 'update_core' ); $translations = wp_get_installed_translations( 'core' ); // Invalidate the transient when $wp_version changes if ( is_object( $current ) && $wp_version != $current->version_checked ) $current = false; if ( ! is_object($current) ) { $current = new stdClass; $current->updates = array(); $current->version_checked = $wp_version; } if ( ! empty( $extra_stats ) ) $force_check = true; // Wait 60 seconds between multiple version check requests $timeout = 60; $time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked ); if ( ! $force_check && $time_not_changed ) return false; $locale = get_locale(); /** * Filter the locale requested for WordPress core translations. * * @since 2.8.0 * * @param string $locale Current locale. */ $locale = apply_filters( 'core_version_check_locale', $locale ); // Update last_checked for current to prevent multiple blocking requests if request hangs $current->last_checked = time(); set_site_transient( 'update_core', $current ); if ( method_exists( $wpdb, 'db_version' ) ) $mysql_version = preg_replace('/[^0-9.].*/', '', $wpdb->db_version()); else $mysql_version = 'N/A'; if ( is_multisite() ) { $user_count = get_user_count(); $num_blogs = get_blog_count(); $wp_install = network_site_url(); $multisite_enabled = 1; } else { $user_count = count_users(); $user_count = $user_count['total_users']; $multisite_enabled = 0; $num_blogs = 1; $wp_install = home_url( '/' ); } $query = array( 'version' => $wp_version, 'php' => $php_version, 'locale' => $locale, 'mysql' => $mysql_version, 'local_package' => isset( $wp_local_package ) ? $wp_local_package : '', 'blogs' => $num_blogs, 'users' => $user_count, 'multisite_enabled' => $multisite_enabled, ); $post_body = array( 'translations' => json_encode( $translations ), ); if ( is_array( $extra_stats ) ) $post_body = array_merge( $post_body, $extra_stats ); $url = $http_url = 'http://api.wordpress.org/core/version-check/1.7/?' . http_build_query( $query, null, '&' ); if ( $ssl = wp_http_supports( array( 'ssl' ) ) ) $url = set_url_scheme( $url, 'https' ); $options = array( 'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3 ), 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url( '/' ), 'headers' => array( 'wp_install' => $wp_install, 'wp_blog' => home_url( '/' ) ), 'body' => $post_body, ); $response = wp_remote_post( $url, $options ); if ( $ssl && is_wp_error( $response ) ) { trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); $response = wp_remote_post( $http_url, $options ); } if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) return false; $body = trim( wp_remote_retrieve_body( $response ) ); $body = json_decode( $body, true ); if ( ! is_array( $body ) || ! isset( $body['offers'] ) ) return false; $offers = $body['offers']; foreach ( $offers as &$offer ) { foreach ( $offer as $offer_key => $value ) { if ( 'packages' == $offer_key ) $offer['packages'] = (object) array_intersect_key( array_map( 'esc_url', $offer['packages'] ), array_fill_keys( array( 'full', 'no_content', 'new_bundled', 'partial', 'rollback' ), '' ) ); elseif ( 'download' == $offer_key ) $offer['download'] = esc_url( $value ); else $offer[ $offer_key ] = esc_html( $value ); } $offer = (object) array_intersect_key( $offer, array_fill_keys( array( 'response', 'download', 'locale', 'packages', 'current', 'version', 'php_version', 'mysql_version', 'new_bundled', 'partial_version', 'notify_email', 'support_email' ), '' ) ); } $updates = new stdClass(); $updates->updates = $offers; $updates->last_checked = time(); $updates->version_checked = $wp_version; if ( isset( $body['translations'] ) ) $updates->translations = $body['translations']; set_site_transient( 'update_core', $updates ); if ( ! empty( $body['ttl'] ) ) { $ttl = (int) $body['ttl']; if ( $ttl && ( time() + $ttl < wp_next_scheduled( 'wp_version_check' ) ) ) { // Queue an event to re-run the update check in $ttl seconds. wp_schedule_single_event( time() + $ttl, 'wp_version_check' ); } } // Trigger a background updates check if running non-interactively, and we weren't called from the update handler. if ( defined( 'DOING_CRON' ) && DOING_CRON && ! doing_action( 'wp_maybe_auto_update' ) ) { do_action( 'wp_maybe_auto_update' ); } } /** * Check plugin versions against the latest versions hosted on WordPress.org. * * The WordPress version, PHP version, and Locale is sent along with a list of * all plugins installed. Checks against the WordPress server at * api.wordpress.org. Will only check if WordPress isn't installing. * * @since 2.3.0 * @uses $wp_version Used to notify the WordPress version. * * @param array $extra_stats Extra statistics to report to the WordPress.org API. * @return mixed Returns null if update is unsupported. Returns false if check is too soon. */ function wp_update_plugins( $extra_stats = array() ) { include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version if ( defined('WP_INSTALLING') ) return false; // If running blog-side, bail unless we've not checked in the last 12 hours if ( !function_exists( 'get_plugins' ) ) require_once( ABSPATH . 'wp-admin/includes/plugin.php' ); $plugins = get_plugins(); $translations = wp_get_installed_translations( 'plugins' ); $active = get_option( 'active_plugins', array() ); $current = get_site_transient( 'update_plugins' ); if ( ! is_object($current) ) $current = new stdClass; $new_option = new stdClass; $new_option->last_checked = time(); // Check for update on a different schedule, depending on the page. switch ( current_filter() ) { case 'upgrader_process_complete' : $timeout = 0; break; case 'load-update-core.php' : $timeout = MINUTE_IN_SECONDS; break; case 'load-plugins.php' : case 'load-update.php' : $timeout = HOUR_IN_SECONDS; break; default : if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 0; } else { $timeout = 12 * HOUR_IN_SECONDS; } } $time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked ); if ( $time_not_changed && ! $extra_stats ) { $plugin_changed = false; foreach ( $plugins as $file => $p ) { $new_option->checked[ $file ] = $p['Version']; if ( !isset( $current->checked[ $file ] ) || strval($current->checked[ $file ]) !== strval($p['Version']) ) $plugin_changed = true; } if ( isset ( $current->response ) && is_array( $current->response ) ) { foreach ( $current->response as $plugin_file => $update_details ) { if ( ! isset($plugins[ $plugin_file ]) ) { $plugin_changed = true; break; } } } // Bail if we've checked recently and if nothing has changed if ( ! $plugin_changed ) return false; } // Update last_checked for current to prevent multiple blocking requests if request hangs $current->last_checked = time(); set_site_transient( 'update_plugins', $current ); $to_send = compact( 'plugins', 'active' ); $locales = array( get_locale() ); /** * Filter the locales requested for plugin translations. * * @since 3.7.0 * * @param array $locales Plugin locale. Default is current locale of the site. */ $locales = apply_filters( 'plugins_update_check_locales', $locales ); if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 30; } else { // Three seconds, plus one extra second for every 10 plugins $timeout = 3 + (int) ( count( $plugins ) / 10 ); } $options = array( 'timeout' => $timeout, 'body' => array( 'plugins' => json_encode( $to_send ), 'translations' => json_encode( $translations ), 'locale' => json_encode( $locales ), 'all' => json_encode( true ), ), 'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) ); if ( $extra_stats ) { $options['body']['update_stats'] = json_encode( $extra_stats ); } $url = $http_url = 'http://api.wordpress.org/plugins/update-check/1.1/'; if ( $ssl = wp_http_supports( array( 'ssl' ) ) ) $url = set_url_scheme( $url, 'https' ); $raw_response = wp_remote_post( $url, $options ); if ( $ssl && is_wp_error( $raw_response ) ) { trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); $raw_response = wp_remote_post( $http_url, $options ); } if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) ) return false; $response = json_decode( wp_remote_retrieve_body( $raw_response ), true ); foreach ( $response['plugins'] as &$plugin ) { $plugin = (object) $plugin; } unset( $plugin ); foreach ( $response['no_update'] as &$plugin ) { $plugin = (object) $plugin; } unset( $plugin ); if ( is_array( $response ) ) { $new_option->response = $response['plugins']; $new_option->translations = $response['translations']; // TODO: Perhaps better to store no_update in a separate transient with an expiry? $new_option->no_update = $response['no_update']; } else { $new_option->response = array(); $new_option->translations = array(); $new_option->no_update = array(); } set_site_transient( 'update_plugins', $new_option ); } /** * Check theme versions against the latest versions hosted on WordPress.org. * * A list of all themes installed in sent to WP. Checks against the * WordPress server at api.wordpress.org. Will only check if WordPress isn't * installing. * * @since 2.7.0 * @uses $wp_version Used to notify the WordPress version. * * @param array $extra_stats Extra statistics to report to the WordPress.org API. * @return mixed Returns null if update is unsupported. Returns false if check is too soon. */ function wp_update_themes( $extra_stats = array() ) { include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version if ( defined( 'WP_INSTALLING' ) ) return false; $installed_themes = wp_get_themes(); $translations = wp_get_installed_translations( 'themes' ); $last_update = get_site_transient( 'update_themes' ); if ( ! is_object($last_update) ) $last_update = new stdClass; $themes = $checked = $request = array(); // Put slug of current theme into request. $request['active'] = get_option( 'stylesheet' ); foreach ( $installed_themes as $theme ) { $checked[ $theme->get_stylesheet() ] = $theme->get('Version'); $themes[ $theme->get_stylesheet() ] = array( 'Name' => $theme->get('Name'), 'Title' => $theme->get('Name'), 'Version' => $theme->get('Version'), 'Author' => $theme->get('Author'), 'Author URI' => $theme->get('AuthorURI'), 'Template' => $theme->get_template(), 'Stylesheet' => $theme->get_stylesheet(), ); } // Check for update on a different schedule, depending on the page. switch ( current_filter() ) { case 'upgrader_process_complete' : $timeout = 0; break; case 'load-update-core.php' : $timeout = MINUTE_IN_SECONDS; break; case 'load-themes.php' : case 'load-update.php' : $timeout = HOUR_IN_SECONDS; break; default : if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 0; } else { $timeout = 12 * HOUR_IN_SECONDS; } } $time_not_changed = isset( $last_update->last_checked ) && $timeout > ( time() - $last_update->last_checked ); if ( $time_not_changed && ! $extra_stats ) { $theme_changed = false; foreach ( $checked as $slug => $v ) { if ( !isset( $last_update->checked[ $slug ] ) || strval($last_update->checked[ $slug ]) !== strval($v) ) $theme_changed = true; } if ( isset ( $last_update->response ) && is_array( $last_update->response ) ) { foreach ( $last_update->response as $slug => $update_details ) { if ( ! isset($checked[ $slug ]) ) { $theme_changed = true; break; } } } // Bail if we've checked recently and if nothing has changed if ( ! $theme_changed ) return false; } // Update last_checked for current to prevent multiple blocking requests if request hangs $last_update->last_checked = time(); set_site_transient( 'update_themes', $last_update ); $request['themes'] = $themes; $locales = array( get_locale() ); /** * Filter the locales requested for theme translations. * * @since 3.7.0 * * @param array $locales Theme locale. Default is current locale of the site. */ $locales = apply_filters( 'themes_update_check_locales', $locales ); if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 30; } else { // Three seconds, plus one extra second for every 10 themes $timeout = 3 + (int) ( count( $themes ) / 10 ); } $options = array( 'timeout' => $timeout, 'body' => array( 'themes' => json_encode( $request ), 'translations' => json_encode( $translations ), 'locale' => json_encode( $locales ), ), 'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) ); if ( $extra_stats ) { $options['body']['update_stats'] = json_encode( $extra_stats ); } $url = $http_url = 'http://api.wordpress.org/themes/update-check/1.1/'; if ( $ssl = wp_http_supports( array( 'ssl' ) ) ) $url = set_url_scheme( $url, 'https' ); $raw_response = wp_remote_post( $url, $options ); if ( $ssl && is_wp_error( $raw_response ) ) { trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); $raw_response = wp_remote_post( $http_url, $options ); } if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) ) return false; $new_update = new stdClass; $new_update->last_checked = time(); $new_update->checked = $checked; $response = json_decode( wp_remote_retrieve_body( $raw_response ), true ); if ( is_array( $response ) ) { $new_update->response = $response['themes']; $new_update->translations = $response['translations']; } set_site_transient( 'update_themes', $new_update ); } /** * Performs WordPress automatic background updates. * * @since 3.7.0 */ function wp_maybe_auto_update() { include_once( ABSPATH . '/wp-admin/includes/admin.php' ); include_once( ABSPATH . '/wp-admin/includes/class-wp-upgrader.php' ); $upgrader = new WP_Automatic_Updater; $upgrader->run(); } /** * Retrieves a list of all language updates available. * * @since 3.7.0 */ function wp_get_translation_updates() { $updates = array(); $transients = array( 'update_core' => 'core', 'update_plugins' => 'plugin', 'update_themes' => 'theme' ); foreach ( $transients as $transient => $type ) { $transient = get_site_transient( $transient ); if ( empty( $transient->translations ) ) continue; foreach ( $transient->translations as $translation ) { $updates[] = (object) $translation; } } return $updates; } /** * Collect counts and UI strings for available updates * * @since 3.3.0 * * @return array */ function wp_get_update_data() { $counts = array( 'plugins' => 0, 'themes' => 0, 'wordpress' => 0, 'translations' => 0 ); if ( $plugins = current_user_can( 'update_plugins' ) ) { $update_plugins = get_site_transient( 'update_plugins' ); if ( ! empty( $update_plugins->response ) ) $counts['plugins'] = count( $update_plugins->response ); } if ( $themes = current_user_can( 'update_themes' ) ) { $update_themes = get_site_transient( 'update_themes' ); if ( ! empty( $update_themes->response ) ) $counts['themes'] = count( $update_themes->response ); } if ( ( $core = current_user_can( 'update_core' ) ) && function_exists( 'get_core_updates' ) ) { $update_wordpress = get_core_updates( array('dismissed' => false) ); if ( ! empty( $update_wordpress ) && ! in_array( $update_wordpress[0]->response, array('development', 'latest') ) && current_user_can('update_core') ) $counts['wordpress'] = 1; } if ( ( $core || $plugins || $themes ) && wp_get_translation_updates() ) $counts['translations'] = 1; $counts['total'] = $counts['plugins'] + $counts['themes'] + $counts['wordpress'] + $counts['translations']; $titles = array(); if ( $counts['wordpress'] ) $titles['wordpress'] = sprintf( __( '%d WordPress Update'), $counts['wordpress'] ); if ( $counts['plugins'] ) $titles['plugins'] = sprintf( _n( '%d Plugin Update', '%d Plugin Updates', $counts['plugins'] ), $counts['plugins'] ); if ( $counts['themes'] ) $titles['themes'] = sprintf( _n( '%d Theme Update', '%d Theme Updates', $counts['themes'] ), $counts['themes'] ); if ( $counts['translations'] ) $titles['translations'] = __( 'Translation Updates' ); $update_title = $titles ? esc_attr( implode( ', ', $titles ) ) : ''; $update_data = array( 'counts' => $counts, 'title' => $update_title ); /** * Filter the returned array of update data for plugins, themes, and WordPress core. * * @since 3.5.0 * * @param array $update_data { * Fetched update data. * * @type array $counts An array of counts for available plugin, theme, and WordPress updates. * @type string $update_title Titles of available updates. * } * @param array $titles An array of update counts and UI strings for available updates. */ return apply_filters( 'wp_get_update_data', $update_data, $titles ); } function _maybe_update_core() { include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version $current = get_site_transient( 'update_core' ); if ( isset( $current->last_checked ) && 12 * HOUR_IN_SECONDS > ( time() - $current->last_checked ) && isset( $current->version_checked ) && $current->version_checked == $wp_version ) return; wp_version_check(); } /** * Check the last time plugins were run before checking plugin versions. * * This might have been backported to WordPress 2.6.1 for performance reasons. * This is used for the wp-admin to check only so often instead of every page * load. * * @since 2.7.0 * @access private */ function _maybe_update_plugins() { $current = get_site_transient( 'update_plugins' ); if ( isset( $current->last_checked ) && 12 * HOUR_IN_SECONDS > ( time() - $current->last_checked ) ) return; wp_update_plugins(); } /** * Check themes versions only after a duration of time. * * This is for performance reasons to make sure that on the theme version * checker is not run on every page load. * * @since 2.7.0 * @access private */ function _maybe_update_themes() { $current = get_site_transient( 'update_themes' ); if ( isset( $current->last_checked ) && 12 * HOUR_IN_SECONDS > ( time() - $current->last_checked ) ) return; wp_update_themes(); } /** * Schedule core, theme, and plugin update checks. * * @since 3.1.0 */ function wp_schedule_update_checks() { if ( !wp_next_scheduled('wp_version_check') && !defined('WP_INSTALLING') ) wp_schedule_event(time(), 'twicedaily', 'wp_version_check'); if ( !wp_next_scheduled('wp_update_plugins') && !defined('WP_INSTALLING') ) wp_schedule_event(time(), 'twicedaily', 'wp_update_plugins'); if ( !wp_next_scheduled('wp_update_themes') && !defined('WP_INSTALLING') ) wp_schedule_event(time(), 'twicedaily', 'wp_update_themes'); if ( ( wp_next_scheduled( 'wp_maybe_auto_update' ) > ( time() + HOUR_IN_SECONDS ) ) && ! defined('WP_INSTALLING') ) wp_clear_scheduled_hook( 'wp_maybe_auto_update' ); } if ( ( ! is_main_site() && ! is_network_admin() ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) return; add_action( 'admin_init', '_maybe_update_core' ); add_action( 'wp_version_check', 'wp_version_check' ); add_action( 'upgrader_process_complete', 'wp_version_check', 10, 0 ); add_action( 'load-plugins.php', 'wp_update_plugins' ); add_action( 'load-update.php', 'wp_update_plugins' ); add_action( 'load-update-core.php', 'wp_update_plugins' ); add_action( 'admin_init', '_maybe_update_plugins' ); add_action( 'wp_update_plugins', 'wp_update_plugins' ); add_action( 'upgrader_process_complete', 'wp_update_plugins', 10, 0 ); add_action( 'load-themes.php', 'wp_update_themes' ); add_action( 'load-update.php', 'wp_update_themes' ); add_action( 'load-update-core.php', 'wp_update_themes' ); add_action( 'admin_init', '_maybe_update_themes' ); add_action( 'wp_update_themes', 'wp_update_themes' ); add_action( 'upgrader_process_complete', 'wp_update_themes', 10, 0 ); add_action( 'wp_maybe_auto_update', 'wp_maybe_auto_update' ); add_action('init', 'wp_schedule_update_checks'); El fracaso de la constitución ciudadana de IslandiaSesiónDeControl.com
Arrow

Fracaso constitucional islandés


1
Qué hacen los diputados

Este artículo se publicó originalmente en Qué hacen los diputados, un parlamento de personas que sigue de cerca el trabajo de los gobernantes, especialmente en el Congreso


Escrito el 13 de abril de 2013 a las 16:35 | Clasificado en Europa, Sociedad

El esperanzador proyecto de una Constitución ciudadana islandesa ha muerto a manos de los políticos.

El Consejo Constitucional de Islandia debatiendo el texto (Fuente: stjornlagarad.is)
El Consejo Constitucional de Islandia debatiendo el texto (Fuente: stjornlagarad.is)

Un mail a primera hora de la mañana resumía en una sencilla frase el desenlace del borrador de la nueva Constitución ciudadana de Islandia: “Mataron el proyecto de Constitución“. Era de la profesora de Derecho en la Universidad de Islandia, Elvira Méndez, quien reside en Reikjavik.

A mediados de febrero un miembro de ‘Qué hacen los diputados’ estuvo en Islandia. Fue una oportunidad para conocer de cerca a algunas personas que habían estado implicadas en el debate y redacción del texto Constituciónal. Una experiencia que, aunque puesta en marcha desde el Gobierno, contó con la participación directa de la ciudadanía.

Como contaremos más adelante en el post, el proyecto ha resultado en fracaso, según confirman los que mejor conocen el tema, por ser un proceso que ha acabado por perderse en manos de los políticos.

Para poner en contexto explicaremos brevemente la historia de la Constitución ciudadana islandesa, para lo que hay que remontarse a 2009. Tras las duras protestas ciudadanas de enero de ese año, el Gobierno dimitió en bloque y convocó elecciones anticipadas. De esos comicios, celebrados en mayo, surgió un nuevo gobierno formado por la Alianza Socialdemócrata y el Movimiento de Izquierda-Verde.

La idea de reformar la Constitución con la intervención del propio pueblo islandés surgió de la primera ministra de la Alianza Socialdemócrata, Johánna Sigurdardóttir. En 2010, un año después de su elección, empezaron los trámites para crear un Consejo Constituciónal.

El Consejo Constituciónal ciudadano

Se convocó una Asamblea Nacional con 950 personas seleccionadas aleatoriamente del registro nacional, de la que surgieron 522 candidatos. Tras celebrar unas elecciones al Consejo Constituciónal, se eligieron 25 delegados de diferentes edades, profesiones, educación y experiencia de vida.

Según apunta la investigación de la estudiante de Periodismo Internacional de la Universidad de Cardiff, Giulia Dessi, la población con derecho a voto que participó en estas elecciones (el 35%), era más partidaria  de los partidos progresistas y “eligió a aquellos ciudadanos que tenían puntos de vista políticos o ideológicos parecidos”, es decir, de tendencia más a la izquierda, según apunta Dessi.

Por su parte, el Tribunal Supremo de Islandia invalidó el proceso por supuestos defectos de forma que denunciaron diversos ciudadanos. La cámara baja creó un  Consejo Constituciónal a instancias de una resolución parlamentaria con el apoyo de la mayoría parlamentaria socialdemócrata y los 25 delegados surgidos de las elecciones previas pudieron entonces iniciar el proceso.

Tras entregar el borrador de reforma de Constitución al Parlamento se fue al cajón (Fuente:stjornlagarad.is)

Cuatro meses para redactar una nueva Constitución

A los 25 miembros del Consejo solo se les dio cuatro meses para cambiar la Constitución(la anterior databa de 1944, procedía de la Carta Magna danesa y solo se había modificado en cuatro ocasiones).

En julio de 2011 el Consejo aprobó por unanimidad el documento resultante: un borrador de Constitución de 114 artículos divididos en 9 capítulos (el texto avanza en muchos aspectos en cuanto a soberanía del pueblo, cambios en el sistema electoral, separación de poderes o propiedad de los recursos naturales). El texto estuvo en el cajón del gobierno durante más de un año hasta que se votó en referéndum en octubre de 2012. Menos del 50% del electorado islandés (un 66% a favor) participó en el referéndum.

Tal y como nos explicó uno de los miembros del Consejo -el más conservador, según él mismo confesó-, Pawel Bartoszek, esos meses no fueron suficientes para redactar el texto. A pesar de que él se muestra escéptico con el proceso ya que algunos tenían “un pasado político”, y otros, en su opinión, no tenían experiencia en política, tampoco creía necesario reescribir la Constitución de arriba a abajo. Sin embargo, votó a favor del texto resultante.

El economista Thorvaldur Gylfason, uno de los miembros más destacados del Consejo Constituciónal ciudadano, reprocha al Parlamento el retraso de 20 meses en revisar el borrador.

“A algunos diputados no les gustan ciertos aspectos de la nueva Constitución, como el artículo sobre recursos naturales, pero si no se aprueba será un ataque frontal a la democracia islandesa”, comentaba en febrero. “El texto fue aprobado por unanimidad, refleja el deseo de la gente“, subrayó.

El miembro del Partido Pirata de Islandia, que se presenta por primera vez a las elecciones,Smári McCarthy, ayudó a redactar los artículos sobre acceso a la información. “El Consejo solo tuvo cuatro meses para hacer el texto y luego el Parlamento tardó más de un año en trabajar la propuesta (…) que no necesita grandes cambios”, criticó.

McCarthy añadió, asimismo, otro fracaso de la cámara baja islandesa: “Sentimos que las promesas relativas a transparencia y a la apertura no se han cumplido. El partido Independiente y el Progresista -la oposición conservadora- han estado los últimos dos años bloqueando iniciativas y reformas, como la modernización de la libertad de información”.

La oposición rechazó la nueva Constitución desde el principio

Birgir Armannsson (Fuente: dv.is)

El diputado del Partido de la Independencia -el mayoritario de la oposición-, Birgir Armannsson señaló: “Estábamos en contra de este proceso tal y como lo puso en marcha el gobierno. Bajo mi punto de vista no había necesidad de reescribir la Constitución de arriba a abajo como ha hecho el Consejo Constituciónal”.

Aunque afirma que se podrían “reconsiderar algunos de los artículos”, están en contra, principalmente, de la parte relativa a los derechos humanos, la separación de poderes, los recursos naturales y los referéndums. Eso sí, reconsiderarían a la baja, ya que Armannsson no está de acuerdo con que el presidente de la República de Islandia pueda convocar referéndums y considera que el porcentaje de población que pueda solicitar un referéndum tiene que ser de un 15 o un 20% (no del 10% como propone la Constitución ciudadana).

Su intención, si este partido ganara las elecciones del 27 de abril, es no continuar con el proceso de reforma de la Constitución.

¿Qué dicen los partidos del Gobierno?

La Alianza Socialdemócrata y el Movimiento de Izquierda-Verde siempre se han mostrado a favor públicamente de la reforma Constituciónal. La diputada más implicada en el proceso,Valgerdur Bjarnadóttir, señaló antes de que se acabara la legislatura que “si el Parlamento tiene voluntad, está a tiempo”, ya que, a su juicio, solo había que hacer “pequeños cambios en esencia”.

Valgerdur incluso participó en un acto de la plataforma SOS Icelandic Constitution (SOS Constitución Islandesa):

Sobre las críticas a los retrasos, Valgerdur se mostró en desacuerdo y argumentó. “Ha sido imposible hacerlo a otra velocidad. Creo en el proceso y el Gobierno lo ha apoyado seriamente. Si la izquierda gana las elecciones, el trabajo continuará en la próxima legislatura, pero si el Partido de la Independencia gana, probablemente abandonará el proyecto”.

Por insistencia del Partido de la Independencia o ciudadanos como Pawel Bartoszek, el borrador de la ciudadanía se envió a la Comisión de Venecia (órgano perteneciente a la Comisión Europea), quien entrevistó a los partidarios y detractores y examinó la documentación en inglés. Finalmente, en febrero, publicó un borrador de su análisis técnico-legal de la Constitución islandesa, que apunta defectos de forma y choques de algunos artículos con otras leyes.

Tras el fracaso, vuelta a la plaza

Teóricamente el parlamento estuvo las últimas semanas de legislatura trabajando en modificar el borrador según las recomendaciones recibidas de Europa y debatiendo antes de disolverse para intentar llegar a un acuerdo y aprobar inicialmente el borrador, pero no se ha votado.

Thorvaldur, quien se presenta a las elecciones como cabeza del partido Alerta democrática, ha publicado un artículo al respecto en el que argumenta cómo el Parlamento ha dificultado a lo largo de todo el proceso el avance del borrador Constituciónal y en el que califica de “cruel traición” el no haber aprobado el texto después de que los partidos del gobierno hayan mostrado tanto apoyo en público.

En el último momento, el Parlamento sorprendió con una nueva medida: requerir dos tercios de la cámara además de un 40% del voto popular para aprobar “cualquier cambio en la Constitución” en el siguiente periodo legislativo (sería necesario que un 80% de personas con derecho a voto acudieran a una votación para que se aceptara un futuro cambio Constituciónal).

Ante esta actual situación, Thorvaldur ha anunciado que la ciudadanía “volverá a la plaza como han pretendido los enemigos de la nueva Constitución” y ha afirmado que tienen pocas esperanzas de que el nuevo Parlamento lleve adelante el proyecto Constituciónal.

Cada sábado, parte de la ciudadanía islandesa se ha concentrado en los últimos meses en la plaza del Althingi (el Parlamento de Islandia) para reclamar que se aprobara la Constitución tal y como quedó redactada.

El Parlamento de Islandia ha perdido la oportunidad de implicar verdaderamente a la ciudadanía en el proceso legislativo. Y no con una ley cualquiera, sino con la ley de leyes que al menos habría podido establecer unas bases para lo que viniera después y además, proyectado por parte de la población islandesa.

FuenteLa oportunidad perdida con la constitución ciudadana de Islandia

Nota: Queremos dar las gracias a Sigurdur Sigurdson, miembro de la organización Sociedad Constitucional, a Einar Árnason, periodista de News of Iceland y a Elvira Méndez por todos los contactos e información proporcionados para elaborar este post sobre la constitución ciudadana islandesa.

Los votantes dicen...
  1. […] Fracaso constitucional islandés (Qué hacen los diputados) […]

Comparte tu punto de vista

XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>