<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Interview: Andrea Maggioni</title>
</head>

<body>
<h2>Interview with Andrea Maggioni, Marketing Education Project Mascot Creator </h2>
<p>-Originally Published in the <a href="http://marketing.openoffice.org/education/schools/">Marketing Education Project </a></p>
<p>&nbsp;</p>
<p>Andrea receives a great prize of a web-hosting service for one year, 200 Mb of web space on a Linux server, with 50 IMAP/POP3 mailboxes (protected from virus and spam), unlimited aliases, one IP address, PHP/MySQL/PostGreSQL support, and the registration of an .it .com .net or .org domain name. The prize is donated by <a href="http://www.e4a.it/">E4A</a>, a Free Software based ISP that supports the OpenOffice.org community.</p>
<p>And what does the winner have to say? A short interview with Andrea follows, translated from the Italian by longtime OpenOffice.org contributor Gianluca Turconi, and member of the <a href="http://it.openoffice.org/">Italian Native-Language Project</a>.</p>
<p><strong>OpenOffice.org</strong>: How did you learn of the OpenOffice.org Project?</p>
<p><strong>Andrea</strong>: Thanks to my sister's boyfriend. He has known about the OpenOffice.org web site for quite some time. As soon as he saw the OOoEduc art competition he thought I could take part in it.</p>
<p><strong>OpenOffice.org</strong>: Why did you decide to take part in the OOoEdu competition?</p>
<p><strong>Andrea</strong>: Well, my sister encouraged me to participate. She was very persistent. But, I thought it was a good chance to become famous if I won so I didn't need too much persuasion!</p>
<p><strong>OpenOffice.org</strong>: Now that you have won this art competition by collaborating with our open source community, your work might become very famous worldwide. Do you think this will make a difference to your future?</p>
<p><strong>Andrea</strong>: I don't exactly know what advantages will come from winning this competition. It's really useful to put on my curriculum vitae for when I complete my studies. Of course, winning this competition motivates me to look for new experiences and to improve my own artistic skills.</p>
<p><strong>OpenOffice.org</strong>: Are you planning on collaborating further with the OOo community? Why?</p>
<p><strong>Andrea</strong>: Yeah! I'd like to do more work with the OpenOffice.org Community. It'd be a perfect preparation for my future professional life.,</p>
<p><strong>OpenOffice.org</strong>: The OOo Community is developing and distributing a Free Software office suite thanks to the help of corporations and volunteers from all over the world. Do you think this idea could be extended to other fields, for example, art or music? Would this be interesting to young people of your age?</p>
<p><strong>Andrea</strong>: Sure! I think this concept can be adapted to several arts fields. As far as teenagers like me are concerned, I suppose it would be an interesting activity for their school time because its really useful for other people. It's a bit more difficult to know whether they'll spend a lot of their free time in such work. You know, when you are 15/16 years old you have several things on your mind other than work... ;-)</p>
<!--  <h4 style="text-align: center; color: rgb(204, 0, 0);">OOEdu In search of a project mascot!</h4>
  The OpenOffice.org school mascot competition is now closed and the winner will be announced shortly. <br>
  <p>OOedu project is a resource for anyone interested in education. We now need a project mascot based on the theme of a seagull. Why a seagull? The OpenOffice.org logo includes waves and gulls flying over them. The OpenOffice.org web site gets millions of hits so the winner's work will get worldwide exposure. A real opportunity to become famous!</p>
  <p>So we invite students in the 5-18 age range to submit designs for the mascot. These should be E-mailed as attachments in jpg or png format to ianlynch@openoffice.org. The text of the E-mail should give the name, school and country of the person entering, their age and the following text.</p>
  <div class="indent">
    <p ><span style="color: rgb(204, 0, 0);">"By entering the OpenOffice.org school mascot competition I and/or my parents agree that my work can be used freely and for whatever purpose related to the OpenOffice.org project and product".</span></p>
    <span style="color: rgb(204, 0, 0);">
    <p><strong>Entries will only be accepted if in the correct file format and accompanied with the above text.</strong></p>
    </span><strong> </strong></div>
  <p>The closing date for entry is the 28th February 2004 and the winner will be announced by 31st March 2004.&nbsp; The winner's mascot will be adopted by the project but the project reserves the right to make modifications to the design if this is necessary to make it compatible with the positions in which it is displayed.</p>
  <p>Details of judging will be posted here in due course and it will involve a voting system for students.</p> -->
</body>
</html>
