Ripresa della sessione
Dichiaro ripresa la sessione del Parlamento europeo, interrotta venerdì 17 dicembre e rinnovo a tutti i miei migliori auguri nella speranza che abbiate trascorso delle buone vacanze.
Come avrete avuto modo di constatare il grande "baco del millennio" non si è materializzato. Invece, i cittadini di alcuni nostri paesi sono stati colpiti da catastrofi naturali di proporzioni davvero terribili. Avete chiesto che si tenesse una discussione su tale tema nei prossimi giorni, nel corso della presente tornata. Nel frattempo è mio desiderio, come del resto mi è stato chiesto da alcuni colleghi, osservare un minuto di silenzio in memoria di tutte le vittime delle tempeste che si sono abbattute sui diversi paesi dell' Unione europea. Vi invito pertanto ad alzarvi in piedi per osservare appunto un minuto di silenzio.
(Il Parlamento osserva un minuto di silenzio)

Signora Presidente, intervengo per una mozione d'ordine. Come avrà letto sui giornali o sentito alla televisione, in Sri Lanka si sono verificati numerosi assassinii ed esplosioni di ordigni. Una delle vittime più recenti è stato Kumar Ponnambalam, che qualche mese fa era venuto in visita qui al Parlamento europeo. Signora Presidente, sarebbe opportuno che inviasse una lettera alla Presidente del Sri Lanka per esprimere le condoglianze del Parlamento per questa e le altre morti violente verificatesi in Sri Lanka e per invitarla a fare quanto in suo potere al fine di giungere a una riconciliazione pacifica in questa situazione assai difficile.

Sì, onorevole Evans, ritengo che un' iniziativa del tipo che lei propone sia assolutamente opportuna. Se l' Assemblea è d' accordo seguirò il suggerimento dell' onorevole Evans.

Signora Presidente, un richiamo al Regolamento. Gradirei avere il suo parere riguardo all'articolo 143 sull'inammissibilità. La mia domanda si ricollega a un tema all'ordine del giorno di giovedì e che formulerò di nuovo al momento opportuno.
La relazione Cunha sui programmi di orientamento pluriennali è iscritta all'ordine del giorno della Plenaria di giovedì e al paragrafo 6 contiene una proposta volta a introdurre una sorta di sanzione a carico delle quote di quei paesi che non riescono a raggiungere i loro obiettivi di riduzione annuali delle flotte, nonostante il principio della stabilità relativa. Credo che tale principio sia un principio giuridico fondamentale della politica comune della pesca e qualsiasi proposta volta a sovvertirlo sarebbe giuridicamente inammissibile Vorrei sapere se è possibile sollevare un'obiezione di questo tipo nel contesto di una semplice relazione, e non di una proposta legislativa, e se rientra nelle mie competenze sollevare una tale obiezione giovedì prossimo.

E' appunto in quell' occasione che, se lo desidera, avrà modo di sollevare la sua questione pregiudiziale, cioè giovedì in apertura della discussione sulla relazione.

Signora Presidente, in coincidenza con la prima tornata dell'anno del Parlamento europeo, negli Stati Uniti in Texas è stata fissata, purtroppo per giovedì prossimo, l'esecuzione di un condannato a morte, un giovane di 34 anni che chiameremo di nome Hicks.
Su richiesta di un deputato francese, l'onorevole Zimeray, è già stata presentata una petizione, che ha avuto molti firmatari tra cui il sottoscritto, ma le chiedo, in conformità con l'indirizzo ormai costantemente espresso dal Parlamento europeo e da tutta la Comunità europea, di intervenire, con il prestigio della sua carica e dell'Istituzione che lei rappresenta, presso il Presidente e il Governatore del Texas Bush, che ha il potere di sospendere la condanna a morte e di graziare il condannato.
E tutto ciò in conformità con i principi che abbiamo sempre sostenuto.

La ringrazio, onorevole Segni, lo farò volentieri. In effetti ciò è assolutamente conforme alla posizione che il nostro Parlamento ha sempre sostenuto.

Signora Presidente, vorrei richiamare l'attenzione su un caso che il Parlamento segue da tempo, ossia il caso di Alexander Nikitin. Noi tutti siamo lieti che il tribunale lo abbia assolto, ribadendo che anche in Russia l'accesso a informazioni sull'ambiente è un diritto sancito dalla costituzione. Ora, però, verrà messo nuovamente in stato di accusa perché il pubblico ministero ricorrerà in appello. Come sappiamo e come abbiamo fatto rilevare in innumerevoli risoluzioni - anche nell'ultima seduta plenaria dell'anno scorso - non si tratta semplicemente di un caso giudiziario ed è un grave errore accusare Alexander Nikitin di aver commesso reati e atti criminali, tanto più che noi, in quanto diretti interessati, abbiamo beneficiato dei risultati delle sue ricerche. Tali risultati sono alla base dei programmi europei di tutela del Mare di Barents. La prego pertanto di prendere in esame la bozza della lettera in cui vengono indicati i fatti principali e di sostenere presso le autorità russe la posizione assunta dal Parlamento, conformemente alle sue risoluzioni.

Sì, onorevole Scroedter, esaminerò volentieri i fatti relativi alla questione da lei esposta non appena avrò ricevuto la sua lettera.

Signora Presidente, mi permetta di farle innanzi tutto i miei complimenti per aver tenuto fede alla parola data. In effetti il numero di canali televisivi disponibili nei nostri uffici è aumentato enormemente in questa prima tornata dell'anno nuovo. Tuttavia, signora Presidente, non è ancora stato dato seguito alla mia richiesta. E' vero che adesso abbiamo due canali finlandesi e uno portoghese, ma purtroppo manca ancora il canale olandese. Ed era proprio quello che avevo chiesto, dato che noi parlamentari olandesi, quando veniamo spediti in questo esilio mensile, gradiremmo poter vedere il telegiornale in olandese. Ripeto ancora una volta la mia richiesta: faccia in modo che sia reso disponibile anche un canale olandese.

Onorevole Plooj-van Gorsel, posso risponderle che tale punto figura all' ordine del giorno della riunione dei questori di mercoledì. Spero che sarà esaminata con uno spirito positivo.

Signora Presidente, vorrei sapere perché questo Parlamento non rispetta le norme in materia di salute e sicurezza che esso stesso approva. Perché non è stato condotto alcun test della qualità dell'aria in questo edificio da quando siamo stati eletti? Perché dal 1998 il comitato salute e sicurezza non si è più riunito? Perché non sono state fatte prove dell'allarme antincendio né negli edifici del Parlamento di Bruxelles né qui a Strasburgo? Perché non esistono istruzioni da seguire in caso di incendio? Perché dopo il mio incidente non sono state apportate migliorie alle scale? Perché non viene fatto rispettare il divieto di fumare nelle aree riservate appunto ai non fumatori? E' assolutamente vergognoso che proprio noi non rispettiamo le norme da noi stessi approvate.

Onorevole Lynne, lei ha perfettamente ragione e intendo verificare se tutto quanto lei ha detto davvero non è stato fatto. Intendo altresì sottoporre il punto al collegio dei questori e sono certa che ai nostri questori starà a cuore fare in modo che il Parlamento osservi le disposizioni che approva.

Signora Presidente, l' onorevole Díez González e io avevamo presentato alcune interrogazioni in merito a determinate opinioni della Vicepresidente de Palacio riferite da un giornale spagnolo. I servizi competenti non le hanno inserite all' ordine del giorno, in quanto hanno ritenuto che avessero già ottenuto risposta in una tornata precedente.
Chiedo che venga riesaminata tale decisione, in quanto non è così. Le interrogazioni cui è stata data risposta in precedenza riguardavano un intervento della Commissario de Palacio in un caso determinato, non le dichiarazioni pubblicate dal giornale ABC il 18 novembre scorso.

Onorevole collega, sarà mia cura verificare tale punto. Devo confessarle che in questo momento la questione mi pare un po' confusa. Quindi verificheremo con estrema attenzione per essere certi che tutto sia corretto.

Signora Presidente, gradirei sapere se questa settimana il Parlamento intende lanciare un segnale chiaro per esprimere il nostro scontento riguardo alla decisione presa oggi di rifiutare il rinnovo dell'embargo sulle armi contro l' Indonesia, visto e considerato che in passato la stragrande maggioranza dei deputati aveva sostenuto l'imposizione dell'embargo all'Indonesia. La decisione odierna di non rinnovarlo è pericolosissima, data la situazione sul posto. Il Parlamento dovrebbe pertanto inviare un messaggio, come auspica la stragrande maggioranza dei deputati. Gli Stati membri dell'Unione sono stati irresponsabili a non rinnovare l'embargo. Com'è già stato detto, la situazione in Indonesia è davvero esplosiva, con un forte rischio che in futuro si verifichi un colpo di Stato. Non sappiamo cosa stia succedendo e quindi mi chiedo perché si debba permettere ai produttori di armi dell'UE di trarne profitto a scapito di persone innocenti.

Comunque sia, questo punto non è previsto nelle discussioni sui problemi di attualità di giovedì.

Ordine dei lavori
L' ordine del giorno reca la fissazione dell' ordine dei lavori.
E' stata distribuita la versione definitiva del progetto di ordine del giorno, elaborata, ai sensi dell' articolo 110 del Regolamento, dalla Conferenza dei presidenti nella seduta di giovedì 13 gennaio. Non sono state proposte modifiche per lunedì e martedì.
Mercoledì:
Il gruppo PSE ha chiesto di iscrivere una dichiarazione della Commissione sui suoi obiettivi strategici per i prossimi cinque anni e sulla riforma amministrativa della Commissione.
Desidero che l' onorevole Barn Crespo, autore della richiesta, intervenga per motivarla, ovviamente se lo desidera. Poi procederemo come di norma: sentiremo un oratore a favore e uno contro.

Signora Presidente, l' idea che la Commissione Prodi presentasse il suo programma politico per tutta la legislatura proviene inizialmente da una proposta del gruppo del Partito del socialismo europeo, approvata all' unanimità dalla Conferenza dei Presidenti in settembre e anche accettata esplicitamente dal Presidente Prodi, che ha ribadito il suo impegno al riguardo durante il discorso di investitura.
Si tratta di un impegno importante in quanto la Commissione è un organo che detiene il monopolio di iniziativa, conformemente ai Trattati, e di conseguenza delinea i tratti essenziali di quella che sarà l' attività politica e legislativa di questo Parlamento nei prossimi cinque anni. Ricordo altresì, signora Presidente, che durante la precedente legislatura il Parlamento ha votato due volte la fiducia a favore del Presidente Prodi; durante l' attuale legislatura l' ha votata di nuovo a luglio e poi, dopo l' insediamento della nuova Commissione, ha votato nuovamente la fiducia per l' intera Commissione in settembre. Quindi c' è già stato tempo a sufficienza per permettere alla Commissione di elaborare il suo programma e per consentirci di prenderne conoscenza per poi spiegarlo ai cittadini. A tale proposito ricordo la risoluzione del 15 settembre scorso, in cui si raccomandava di presentare la proposta il più rapidamente possibile.
I fatti della settimana scorsa - scaturiti a latere della Conferenza dei Presidenti, sfruttata solo per corroborare e ratificare decisioni adottate al di fuori di essa - ci pongono di fronte a un dilemma: o la Commissione non è in grado di presentare questo programma (in tal caso, sarebbe opportuno che lo dicesse. A sentire il suo Presidente, è in grado di farlo. Dato che la Commissione è rappresentata dalla vicepresidente de Palacio, ritengo che prima di votare converrebbe sapere se la Commissione è sempre disposta a presentare il programma, conformemente agli accordi); oppure il Parlamento non è in grado di esaminare tale programma, come apparentemente sostengono alcuni. Secondo me, questa seconda ipotesi significherebbe rinunciare alle nostre responsabilità di Parlamento, oltre a introdurre una tesi originale, un metodo finora sconosciuto che consiste nel distribuire per iscritto ai gruppi politici il discorso programmatico della Commissione una settimana prima - e non il giorno prima, come era stato concordato. Considerando che il programma legislativo sarà discusso a febbraio, potremmo prescindere dal dibattito, in quanto il giorno dopo la stampa ed Internet avrebbero divulgato il testo a tutti i cittadini e quindi il Parlamento non avrebbe più bisogno di occuparsene.
Secondo il mio gruppo, un Parlamento serve per ascoltare, discutere e riflettere, quindi a nostro avviso non c' è alcuna ragione che giustifichi questo rinvio. Se la Commissione è in grado di presentare il programma, secondo noi siamo perfettamente in tempo per ripristinare l' accordo iniziale intervenuto tra il Parlamento e la Commissione e comportarci responsabilmente dinnanzi ai nostri concittadini. Perciò la proposta del gruppo del Partito del socialismo europeo, da lei menzionata, è che mercoledì si mantenga la presentazione del programma per la legislatura della Commissione Prodi, inserendovi anche il progetto di riforma amministrativa. Altrimenti potremmo ritrovarci in una situazione paradossale: con la scusa che non c' è il testo, si nega da un lato il diritto del Presidente della Commissione di rivolgersi a questo Parlamento, e dall' altro che abbia luogo una discussione sulla riforma, senza che il Parlamento conosca a priori i testi su cui si basa. Pertanto, signora Presidente, la prego di chiedere alla Commissione di esprimersi subito e poi di procedere al voto.
(Applausi dai banchi del gruppo del partito del socialismo europeo)

Signora Presidente, onorevoli colleghi, sono piuttosto sorpreso del comportamento del collega, onorevole Barón Crespo, che ora pretende che il punto in questione venga inserito nell'ordine del giorno di mercoledì.
Onorevole collega Barón Crespo, lei non ha potuto partecipare giovedì scorso alla Conferenza dei presidenti. Non la biasimo per questo: può sempre succedere che si debba essere sostituiti. Il collega Hänsch è intervenuto in sua vece. In sede di Conferenza dei presidenti ne abbiamo discusso approfonditamente. Soltanto un gruppo politico condivideva l'opinione da lei espressa in questa sede. La questione è stata posta ai voti. Come è noto, ciascun presidente dispone di un numero di voti pari al numero dei deputati iscritti al proprio gruppo politico. Il punto in questione è stato oggetto di una votazione in cui, se ben ricordo, vi sono stati 422 voti contrari e 180 a favore con poche astensioni. Ciò significa che tutti i gruppi politici, ad eccezione dei non iscritti - che però non costituiscono un gruppo politico -, erano concordi e che un solo gruppo era del parere di procedere come proposto dal collega in questa sede. Tutti gli altri erano di diversa opinione e così è stato deciso.
Vorrei ora entrare brevemente nel merito. Abbiamo fiducia nella Commissione, in Romano Prodi e la grande maggioranza del nostro gruppo politico, come tutti sanno, dopo un difficile processo ha votato la fiducia a Romano Prodi e alla Commissione. Tuttavia siamo anche dell'idea che la strategia della Commissione vada discussa nel corso di una procedura regolare, non soltanto in base a una dichiarazione rilasciata oralmente in questo Parlamento ma anche in base a un documento adottato dalla Commissione che illustri tale programma per i prossimi cinque anni. Ma un tale documento non esiste ancora!

La Commissione presenterà il programma per il 2000 in febbraio. Abbiamo acconsentito: se la Commissione non vuole discutere il programma 2000 in gennaio lo faremo in febbraio. Non è certo nostra intenzione entrare in conflitto con la Commissione. Al contrario, pensiamo che per quanto possibile la Commissione e il Parlamento debbano percorrere una strada comune. Il Parlamento, tuttavia, esercita anche funzioni di controllo nei confronti della Commissione e non tutto ciò che viene proposto da quest'ultima deve necessariamente trovarci concordi.
Vorrei che all'interno dei gruppi politici potessimo prepararci adeguatamente al dibattito sul programma quinquennale. Non è possibile farlo ascoltando una dichiarazione di cui non conosciamo con esattezza il contenuto. Perciò raccomandiamo - e ho l'impressione che anche la Commissione sia disposta ad accogliere questa idea - di discutere in febbraio il programma a lungo termine della Commissione che si estende fino al 2005 - sperando che a quel punto la Commissione abbia concordato un programma che ci sottoporrà - e, sempre in febbraio, anche il programma legislativo della Commissione per l'anno 2000. E' dunque sulla base di un nesso oggettivo che proponiamo di discutere contestualmente i due programmi e per questa ragione il mio gruppo politico respinge decisamente la proposta del gruppo socialista!
(Applausi dai banchi del gruppo del PPE-DE)

Signora Presidente, desidero affermare chiaramente che, innanzi tutto, la Commissione nutre il massimo rispetto per le decisioni del Parlamento tra cui quella di elaborare il proprio ordine del giorno. Quindi, noi rispettiamo le eventuali decisioni in materia del Parlamento.
Ma voglio dire altrettanto chiaramente che il Presidente Prodi si è impegnato con il Parlamento a inserire un nuovo dibattito, come ha ricordato l' onorevole Barón, oltre al dibattito annuale sul programma legislativo della Commissione, sulle grandi linee di azione per il prossimo quinquennio, cioè per la presente legislatura.
Tengo a sottolineare, signora Presidente, che, secondo l' accordo concluso nel settembre scorso, questo dibattito era distinto dalla presentazione del programma legislativo della Commissione. E desidero far sapere che, per quanto riguarda la Commissione, siamo pronti e disposti a tenere questo dibattito quando lo si ritenga opportuno; eravamo già pronti a farlo questa settimana, conformemente all' accordo iniziale, sulla base dell' intesa di una presentazione del discorso ai gruppi parlamentari il giorno prima.
Quindi, signora Presidente, ribadisco che da parte nostra abbiamo discusso del programma di azione per il prossimo quinquennio e che siamo pronti a presentarlo quando vuole il Parlamento - anche questa settimana, se decide il tal senso- mentre il mese prossimo toccherà al programma per il 2000, esattamente come era stato stabilito.

Propongo di porre in votazione la richiesta del gruppo PSE di iscrivere nuovamente all' ordine del giorno la dichiarazione della Commissione sui suoi obiettivi strategici.
(Il Parlamento respinge la richiesta)
Presidente. Sempre sulla giornata di mercoledì ho ricevuto un' altra proposta di modifica relativa alla interrogazione orale sull' imposta patrimoniale che il gruppo PPE-DE chiede di ritirare dall' ordine del giorno.
Qualcuno desidera intervenire a nome del gruppo per motivare tale richiesta?

Signora Presidente, sento qualche risata fra i socialisti. Mi è stato detto che anche una parte cospicua del gruppo socialista vorrebbe che questo punto venisse ritirato dall'ordine del giorno, in quanto nella votazione in sede di Conferenza dei presidenti è mancato il voto del gruppo di lavoro dei colleghi competenti del gruppo socialista. Non so se questa informazione sia corretta, ma noi del PPE-DE saremmo comunque grati se il suddetto punto venisse eliminato visto che il Parlamento si è già occupato ripetutamente della questione. Esistono anche alcune decisioni contro tale imposta. Per questa ragione il gruppo del PPE-DE chiede che il punto in questione venga ritirato dall'ordine del giorno.

La ringrazio, onorevole Poettering.
Ha facoltà l' onorevole Wurtz che interviene contro la richiesta.

Signora Presidente, vorrei innanzi tutto sottolineare la mancanza di logica da parte dell' onorevole Poettering che ha appena fatto la morale al gruppo socialista per essere tornato su una decisione approvata dalla Conferenza dei presidenti con una netta maggioranza. Ebbene, egli ha fatto la stessa cosa. Si era discusso e tutti si erano detti d' accordo, tranne il gruppo PPE-DE e il gruppo ELDR. In tale circostanza - gli onorevoli colleghi presidenti lo ricorderanno - avevo altresì sottolineato che il punto non era tanto sapere se siamo a favore o contro la tassa Tobin, ma se abbiamo il coraggio di ascoltare che cosa ne pensano la Commissione e il Consiglio. Non è chiedere molto. Pertanto, reitero la proposta di mantenere all' ordine del giorno l' interrogazione orale al Consiglio e alla Commissione, per apprendere, una volta per tutte, la posizione delle due Istituzioni su una proposta relativamente modesta, ma che lancerebbe un segnale importante all' opinione pubblica, soprattutto sull' onda dell' emozione suscitata dal fallimento della Conferenza di Seattle.

Pongo ora in votazione la richiesta del gruppo PPE-DE intesa a ritirare dall' ordine del giorno l' interrogazione orale sull' imposta patrimoniale.
(Il Parlamento respinge la richiesta con 164 voti favorevoli, 166 contrari e 7 astenuti)

Signora Presidente, ringrazio l' onorevole Poettering per l' inaspettata pubblicità che ha appena dato a questa discussione. Grazie!

Signora Presidente, è stato contato il mio voto, che non è stato deposto elettronicamente, perché non ho la scheda? Il mio voto era favorevole.

In effetti, se aggiungiamo i voti dei due colleghi che sono intervenuti, il risultato...

Signora Presidente, la Presidenza ha già annunciato l' esito della votazione. Non sono ammesse modifiche.

Onorevoli colleghi, ancora una volta, occorre presentarsi in Aula con la carta di votazione anche il lunedì. Evidentemente abbiamo un problema sul quale sono chiamata a prendere una decisione.
Anch' io ho dimenticato la mia carta di votazione e avrei votato contro. Ritengo pertanto che si debba concludere che l' interrogazione orale rimane iscritta all' ordine del giorno.

Questa è l' ultima volta che si terrà conto del voto dei deputati che hanno dimenticato la loro carta di votazione. Che sia ben chiaro per tutti.
(Applausi)
Sì, l' interrogazione orale resta all' ordine del giorno ed ebbene sì, la Presidente ha diritto di votare così come ha diritto anche di dimenticare la carta di votazione.
Proseguiamo con le altre modifiche all' ordine del giorno.

Signora Presidente, premetto che rispetterò la sua decisione, ma durante la votazione precedente sulla questione del piano strategico della Commissione avevo manifestato l'intenzione di intervenire a nome del mio gruppo prima della votazione, ma non ne ho avuto la possibilità. Le sarei molto grato se prima di chiudere questo punto all'ordine del giorno mi permettesse di rilasciare una dichiarazione di voto a nome del mio gruppo. Si tratta di una cosa importante e sarebbe utile poter mettere a verbale il motivo del nostro comportamento al momento della votazione alla luce della nostra analisi politica.

Signora Presidente, non è mia intenzione riprendere la discussione, ma anch'io avevo chiesto di intervenire per prendere posizione sulla richiesta dell'onorevole Barón Crespo. Lei non mi ha dato la parola. Ne sono spiacente anche se ormai la votazione è già stata effettuata, la decisione presa e quindi la questione è da considerarsi chiusa.

Me ne dispiace, onorevoli Hnsch e Cox, non mi ero accorta che avevate chiesto la parola. Comunque mi pare che le posizioni siano chiare e saranno riportate al processo verbale. Quando domani approveremo il processo verbale della seduta odierna i colleghi che dovessero ritenerlo inadeguato potranno chiedere che esso venga modificato. Mi pare una buona soluzione. Evidentemente il processo verbale della seduta di domani riporterà tutte le eventuali dichiarazioni complementari. Mi pare una formula migliore piuttosto che procedere ora alle dichiarazioni di voto che ci porterebbero molto lontano. Onorevole Cox, onorevole Hnsch, siete d' accordo?

Signora Presidente, se il verbale rispecchierà correttamente il voto del mio gruppo non avrò alcuna obiezione. Ma se la sua decisione implica che non posso rilasciare una dichiarazione di voto, la accetto con delle riserve.

Faremo molta attenzione allora alla redazione del processo verbale, come per altro facciamo sempre. Se esso non rifletterà correttamente le posizioni potrà essere modificato.
(Il Parlamento approva l' ordine del giorno così modificato)

