configure.in | 1 vote/2014-mc/Makefile.am | 14 + vote/2014-mc/candidates.wml | 249 ++++++++++++++++++++++++++++++++++ vote/2014-mc/index.wml | 60 ++++++++ vote/2014-mc/mkical.py | 252 +++++++++++++++++++++++++++++++++++ vote/2014-mc/rules.wml | 131 ++++++++++++++++++ vote/2014-mc/timeline.ics | 71 +++++++++ vote/2014-mc/voting-instructions.txt | 39 +++++ vote/Makefile.am | 2 9 files changed, 818 insertions(+), 1 deletion(-)
New commits: commit 79b19823a36a7c1dcd96dd89cf354342d731a8a7 Author: Thorsten Behrens <t...@documentfoundation.org> Date: Wed Sep 3 23:21:21 2014 +0200 Create 2014 membership committee election pages. diff --git a/configure.in b/configure.in index 5567fea..decfd68 100644 --- a/configure.in +++ b/configure.in @@ -20,4 +20,5 @@ vote/2012-confpoll/Makefile vote/2012-mc/Makefile vote/2013-confpoll/Makefile vote/2013-board/Makefile +vote/2014-mc/Makefile ]) diff --git a/vote/2014-mc/Makefile.am b/vote/2014-mc/Makefile.am new file mode 100644 index 0000000..b7b182f --- /dev/null +++ b/vote/2014-mc/Makefile.am @@ -0,0 +1,14 @@ +SUBDIRS = + +urlpath = /vote/2014-mc + +page_SCRIPTS = \ + index.html \ + candidates.html\ + rules.html + +page_DATA = \ + timeline.ics + mkical.py + +include $(top_srcdir)/rules.common diff --git a/vote/2014-mc/candidates.wml b/vote/2014-mc/candidates.wml new file mode 100644 index 0000000..354fc25 --- /dev/null +++ b/vote/2014-mc/candidates.wml @@ -0,0 +1,249 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html> + + <head> + <title>The Document Foundation 2014 Membership Committee Elections Candidates</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + </head> + + <body> + <h1>Candidates for The Document Foundation 2014 Membership Committee Elections</h1> + + <p> + Below you will find a list of candidates who are running for the + The Document Foundation Membership Committee. A short summary statement from + each candidate and a link to their full candidacy announcement is + provided to help you learn more about them. We encourage all voters + to read the full candidacy statements and related discussions on + <a href="http://listarchives.documentfoundation.org/www/board-discuss/">board-discuss@documentfoundation.org</a>. + </p> + + <p> When deciding who you should vote for, please carefully + consider the various tasks Membership Committee seat holders must + perform. This <a href="../overview-mc.html">overview</a> may be + helpful. Keep in mind that the committee will decide on granting + membership, and renewal thereof, and also plays an important role + as a counter-balance to the board of directors. It is a good idea + to strive for a well-balanced committee, consisting of people with + various backgrounds, skills, and perspectives. </p> + + <p> + Additional elections details can be found in the + <a href="http://www.documentfoundation.org/statutes.pdf">Document Foundation Statutes</a>. + </p> + + <p> + If you have any questions, please send them to either + <a href="http://listarchives.documentfoundation.org/www/board-discuss/">board-discuss@documentfoundation.org</a> + (public list) or to us at <a + href="mailto:elections@documentfoundation.org">elections@documentfoundation.org</a> (private). + </p> + + <h2>Candidates for The Document Foundation Membership Committee</h2> + +gera...@libreoffice.org + + <ol> + <li><strong>Zeki Bildirici</strong><br /> + Affiliation: <em>none</em><br /> + <blockquote> +I hereby announce my candidacy for the upcoming Membership Committee +elections. I've been contributing to LibreOffice since the beginning +of the project on various areas like marketing, localization, +documentation and Q-A also i've been working on to build an active +Turkish LibreOffice community from scratch. The reason that i announce +my candidacy is to take such duties and serve the Foundation as a +diligent member. + </blockquote> + <!-- Verified Member --> + </li> + <li><strong>Cédric Bosdonnat</strong><br /> + Affiliation: <em>none</em><br /> + <blockquote> +I took part in the LibreOffice project since its first public day, and +was already in the OOo community before since 2005. I served as Google +Summer of Code administrator for LibreOffice during several years and +thus help students come to the project. I wish to propose my humble +knowledge of the LibreOffice ecosystem to serve in the membership +committee. + </blockquote> + <!-- Verified Member --> + </li> + <li><strong>Sigrid Carrera</strong><br /> + Affiliation: <em>none</em><br /> + <blockquote> +I want to work with the Membership Committee because I believe that I could +be helpful there. I have a long experience with working in the OOo project +and now the LibreOffice project. I have the time and the wish to serve in +this position, to give something back to this great community. + </blockquote> + <!-- Verified Member --> + </li> + <li><strong>Jesús Corrius Llavina</strong><br /> + Affiliation: <em>none</em><br /> + <blockquote> +I have been a member of the LibreOffice project (and from its +ancestor) from day one, starting to work in the legacy project in +2001. I have been a member of the Board of Directors, developer, +translator, community manager and also helped organizing events and +bring students to the project. I think my knowledge of how many +things work can be useful in the membership commitee. + </blockquote> + <!-- Verified Member --> + </li> + <li><strong>David Emmerich Jourdain</strong><br /> + Affiliation: <em>none</em><br /> + <blockquote> +I really would appreciate to help TDF in the Membership Committee, because +I have a good overview about TDF and LibreOffice, and what can we do to +spread the use of the LibreOffice. I'm with LibreOffice and TDF since the +beginning, and I helped also with OOo previously. I'm developer, +translator, research team coordinator and lecturer, always promoting FLOSS. +I really will be honored to help TDF and the LibreOffice community in this +activity. + </blockquote> + <!-- Verified Member --> + </li> + <li><strong>Jean-Baptiste Faure</strong><br /> + Affiliation: <em>none</em><br /> + <blockquote> +Why: because the job must be done and I think I can help. +In the OOo time I was the lead of the French Native-Lang project since +2008 and the lead of the FR QA-team. I am member of the Foundation since +April 2011. Currently I am maintening the FR website, moderator of the +FR mailing-lists and do bugs triaging. + </blockquote> + <!-- Verified Member --> + </li> + <li><strong>Gerald Geib</strong><br /> + Affiliation: <em>none</em><br /> + <blockquote> +I have been working in the project since the Version 2.0 of OpenOffice. And I +started at the first official days of LibreOffice. +I began with translations of the documentation and the UI in German. At the +moment I do some user support and QA. Now I want to do more in the project +again, so I candidate for the membership committee. + </blockquote> + <!-- Verified Member --> + </li> + <li><strong>Jan HoleÅ¡ovský</strong><br /> + Affiliation: <em>Collabora</em><br /> + <blockquote> +I'd like to serve in the Membership Committee, because I have a good +overview of what TDF and LibreOffice is, and where it is heading. I am +with LibreOffice from the very beginning, and was with OOo previously; +now for more than 11 years. I am primarily a developer, but reach out to +the other groups too â I've been translating to Czech, work with the +designers, and in marketing. I am a regular GSoC mentor. + </blockquote> + <!-- Verified Member --> + </li> + <li><strong>Leif Lyngby Lodahl</strong><br /> + Affiliation: <em>none</em><br /> + <blockquote> +I'm current member of the committee and would be proud to continue my work. +I have been working with localization of Open Office since 2005 and +was one of the founding members of The Document Foundation. I am one +of the non-developers that operates mainly with business development, +project management and education. + </blockquote> + <!-- Verified Member --> + </li> + <li><strong>László Németh</strong><br /> + Affiliation: <em>Csevej Bt.</em><br /> + <blockquote> +As a volunteer, I am a long-time contributor of LibreOffice +project. Knowing the development and the community, also getting +positive feedback and encouragement from the other community members, +I would like to help also the community work of LibreOffice in the +next two years, as a committee member. + </blockquote> + <!-- Verified Member --> + </li> + <li><strong>Cor Nouws</strong><br /> + Affiliation: <em>Nou&Off</em><br /> + <blockquote> +I like to spend some of my time for the Membership Committee. From +the past years I know pretty well how it works and how important it is +to both encourage people to apply for membership and also to look at +applications very well. I am with LibreOffice from the very +beginning, and was with OOo before. Main activities are in QA, +marketing, and our local Dutch language community. My daily work is +that of director of a small Dutch firm delivering support and +consultancy for LibreOffice. + </blockquote> + <!-- Verified Member --> + </li> + <li><strong>Gabriele Ponzo</strong><br /> + Affiliation: <em>none</em><br /> + <blockquote> +I'd like to become a member of the committee to slowly gain a role +inside TDF and better contribute to the project. +I've been part of the LibreUmbria project and I hope to be soon a certified +trainer and participate to more migrations. + </blockquote> + <!-- Verified Member --> + </li> + <li><strong>Charles-H. Schulz</strong><br /> + Affiliation: <em>none</em><br /> + <blockquote> +I am interested in serving at the Membership Committee of the Document +Foundation. I have been one of the co-founders of the LibreOffice +project and used to be a contributor of the OpenOffice.org project. +These days I am mostly involved in comms and marketing for the +community. +I will be happy to help the community and the foundation members by +participating to the committee' s work and sessions. + </blockquote> + <!-- Verified Member --> + </li> + <li><strong>Andras Timar</strong><br /> + Affiliation: <em>Collabora</em><br /> + <blockquote> +In the upcoming Membership Committee Election, please vote for me, +the ideal candidate. I have been involved in OpenOffice.org, then +LibreOffice for 12 years, I know a lot of people from the community, +and I have a good overview of development and localization. I have +time and desire to serve in this position. + </blockquote> + <!-- Verified Member --> + </li> + <li><strong>Klaus-Jürgen Weghorn</strong><br /> + Affiliation: <em>none</em><br /> + <blockquote> +I want to work with the MC because I'm a volunteer with no nexus to +professional developer or support stuff but with users' normal +experiences and expectations in professional and private way. +I'm an official member of the Board of Trustees since mid 2011, +working for LibO almost in Design, De-community and DE-documentation, +Website and Wiki. + </blockquote> + <!-- Verified Member --> + </li> + </ol> + + + + <h2>Additional Elections-related Information</h2> + + <p> + Note, that according to the regulations around avoidance of a + conflict of interest in <a + href="http://www.documentfoundation.org/statutes.pdf">§8 (4) of the Statutes</a>, + there is a 2-person maximum on the number of people affiliated + with any one company that can be on the committee and their deputies: + if more than 2 persons from one company get elected, only the + top 2 vote getters will get on. You will be able to vote for up + to 7 candidates of your choice, with no restrictions, except + that you cannot vote more than once for the same candidate. + </p> + + <p> + If you have any futher question, please consult the + <a href="rules.html">Rules for this election</a> or write to + <a href="mailto:electi...@documentfoundation.org">electi...@documentfoundation.org</a>. + </p> + + </body> +</html> diff --git a/vote/2014-mc/index.wml b/vote/2014-mc/index.wml new file mode 100644 index 0000000..5225636 --- /dev/null +++ b/vote/2014-mc/index.wml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html> + + <head> + <title>The Document Foundation 2014 Membership Committee Elections</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta name="author" content="Thorsten Behrens" /> + </head> + + <body> + + <h1>The Document Foundation 2014 Membership Committee Elections</h1> + + <p> + The Document Foundation Membership currently elects the + Membership Committee during autumn of every other year. Any + member can nominate + themself to run in the elections. The overall elections process + is overseen by the Board of Directors, which can + be reached at <a + href="mailto:elections@documentfoundation.org">elections@documentfoundation.org</a>. + </p> + + <p> + The elections results from the 2014 Membership Committee elections + will be archived here for public access. + </p> + + <h2>2014 Membership Committee Elections Materials:</h2> + <ul> + <li> + <a href="../results.php?election_id=6">Detailed election results</a> + </li> + <li> + <a href="../votes.php?election_id=6">List of all votes</a> + </li> + <li> + <a href="../vote.php?election_id=6">Interface to vote</a> + </li> + <li> + <a href="candidates.html">List of candidates for the Membership Committee</a> + </li> + + <li> + <a href="http://www.documentfoundation.org/foundation/members/">List of registered voters</a> + </li> + + <li> + <a href="rules.html">Elections Rules and Timeline</a> (webcal <a + href="webcal://elections.documentfoundation.org/voting/vote/2014-mc/timeline.ics">timeline</a>) + </li> + + <li> + <a href="../overview-mc.html">Overview of the Membership Committee work</a> + </li> + </ul> + + </body> +</html> diff --git a/vote/2014-mc/mkical.py b/vote/2014-mc/mkical.py new file mode 100755 index 0000000..18c6100 --- /dev/null +++ b/vote/2014-mc/mkical.py @@ -0,0 +1,252 @@ +#!/usr/bin/env python +''' +This Python script creates a simple iCal file based on hardcoded events +in this file. +''' + +import calendar +import datetime +import logging +import math +import os +import vobject + + +#### Configure these variables +YEAR = 2014 +CANDIDATES_OPENED_DATE = (YEAR, 7, 19) # In 2012, begin earlier in May +CANDIDATES_CLOSED_DATE = (YEAR, 8, 27) +CANDIDATES_ANNOUNCED_DATE = (YEAR, 9, 4) +VOTING_OPENED_DATE = (YEAR, 9, 4) +VOTING_CLOSED_DATE = (YEAR, 9, 11) +PRELIMINARY_RESULTS_DATE = (YEAR, 9, 12) +CHALLENGE_CLOSED_DATE = (YEAR, 9, 17) + + + +### I'm sorry that these functions clutter your calendar-creating experience +### Please scroll down a bit to edit the description texts + +#### Application Data +def c(multilinestring): + ''' + A helper functions which cleans up a multiline string, so that + it doesn't contain any newlines or multiple whitespaces + ''' + stripped = [l.strip() for l in multilinestring.splitlines()] + ret = " ".join (stripped) + return ret + +def d(year, month, day): + ''' + Just a tiny wrapper around datetime.datetime to create a datetime object + ''' + return datetime.date(year, month, day) + + + +CANDIDATES_OPENED = ( + d(*CANDIDATES_OPENED_DATE), + 'Announcements and list of candidates opens', + c("""If you are a member of The Document Foundation and are interested + in running for election, you may nominate yourself by sending an + e-mail to electi...@documentfoundation.org with your name, e-mail + address, corporate affiliation (if any), and a description of why + you'd like to serve, before + %s (23:59 UTC).""" % d(*CANDIDATES_CLOSED_DATE)) + ''' + ''' + c(""" + You should also send a summary of your candidacy announcement + (75 words or less) to disc...@documentfoundation.org. """) + ''' + ''' +) + +CANDIDATES_CLOSED = ( + d(*CANDIDATES_CLOSED_DATE), + 'List of candidates closed', + CANDIDATES_OPENED[2] # Get the same text again +) + +CANDIDATES_ANNOUNCED = ( + d(*CANDIDATES_ANNOUNCED_DATE), + 'List of candidates announced', + 'You may now start to send your questions to the candidates' +) + +VOTING_OPENED = ( + d(*VOTING_OPENED_DATE), + 'Instructions to vote are sent', + 'Please read your email and follow these instructions and submit your vote by %s' % d(*VOTING_CLOSED_DATE) +) +VOTING_CLOSED = ( + d(*VOTING_CLOSED_DATE), + 'Votes must be returned', + 'Preliminary results are announced on %s' % d(*PRELIMINARY_RESULTS_DATE) +) + + +PRELIMINARY_RESULTS = ( + d(*PRELIMINARY_RESULTS_DATE), + 'Preliminary results are announced', + 'The preliminary results can be challenged until %s' % d(*CHALLENGE_CLOSED_DATE) +) + +CHALLENGE_CLOSED = ( + d(*CHALLENGE_CLOSED_DATE), + 'Challenges to the results closed', + "If there weren't any challenges, preliminary results are valid" +) + + + + +def create_ical(eventlist): + '''Generates an ical stream based on the list given as eventlist. + The list shall contain elements with a tuple with a + (date, string, string) object, serving as date when the event takes place, + summary and description respectively. + ''' + log = logging.getLogger('create_ical') + + cal = vobject.iCalendar() + cal.add('method').value = 'PUBLISH' + cal.add('calscale').value = 'GREGORIAN' + cal.add('x-wr-timezone').value = 'UTC' + + for (timestamp, summary, description) in eventlist: + log.debug('creating %s, %s', timestamp, description) + vevent = cal.add('vevent') + vevent.add('dtstart').value = timestamp + vevent.add('dtend').value = timestamp + datetime.timedelta(1) + vevent.add('summary').value = summary + vevent.add('description').value = description + + stream = cal.serialize() + return stream + + +def wraptext(s, width): + '''Wraps a string @s at @width characters. + + >>> wraptext('fooo', 2) + ['fo','oo'] + ''' + l = len(s) + nr_frames = int(math.ceil(float(l)/width)) + print nr_frames + frames = [] + for i in xrange(nr_frames): + start, end = i*width, (i+1) * width + frames.append(s[start:end]) + # One could (and prolly should) yield that + return frames + +def ordinal(n): + n = int(n) + if 10 <= n % 100 < 20: + return str(n) + 'th' + else: + return str(n) + {1 : 'st', 2 : 'nd', 3 : 'rd'}.get(n % 10, "th") + + +def cal_for_month(month, events, width=80, year=datetime.datetime.now().year): + '''Generates a textual calendar for the @month in @year. + It will return a string with the calendar on the left hand side and the + events on the right hand side. + @events shall be a list with tuples: timestamp, summary, description. + + Returns a string with the calendar + ''' + log = logging.getLogger('cal_for_month') + + cal = calendar.TextCalendar() + calstrings = cal.formatmonth(year, month, 3).splitlines() + + for (timestamp, summary, description) in events: + log.debug('creating %s, %s', timestamp, summary) + year, month, day = timestamp.year, timestamp.month, timestamp.day + maxwidth = max([len(cs) for cs in calstrings]) + rightwidth = 80 - maxwidth + for i, line in enumerate(calstrings): + needles = (" %d " % day, + " %d\n" % day) + replacement = "(%d)" % day + # Find the day so that we can highlight it and add a comment + day_in_week = False + for needle in needles: + if needle in line+"\n": + # k, this looks a bit weird but we have that corner + # case with the day being at the end of the line + # which in turn will have been split off + day_in_week = True + break # Set the needle to the found one + if day_in_week == False: # Nothing found, try next week + log.debug('Day (%d) not found in %s', day, line) + continue + else: + log.debug('Day (%d) found in %s', day, line) + new_line = (line+"\n").replace(needle, replacement).rstrip() + new_line += " %s (%s)" % (summary, ordinal(day)) + # Replace in-place for two events in the same week + # FIXME: This has bugs :-( + calstrings[i] = new_line + + return os.linesep.join(calstrings) + +def create_textcal(eventlist): + '''Generates a multiline string containing a calendar with the + events written on the side + The list shall contain elements with a tuple with a + (date, string, string) object, serving as date when the event takes place, + summary and description respectively. + ''' + log = logging.getLogger('textcal') + log.debug('Generating from %s', eventlist) + months = set(map(lambda x: x[0].month, eventlist)) + year = set(map(lambda x: x[0].year, eventlist)).pop() + + final_cal = [] + for month in months: + events = filter(lambda x: x[0].month == month, eventlist) + log.debug('Events for %d: %s', month, events) + month_cal = cal_for_month(month, events, year=year) + final_cal.append(month_cal) + + return os.linesep.join(final_cal) + +if __name__ == "__main__": + from optparse import OptionParser + parser = OptionParser("usage: %prog [options]") + parser.add_option("-l", "--loglevel", dest="loglevel", help="Sets the loglevel to one of debug, info, warn, error, critical", + default=None) + parser.add_option("-i", "--ical", + action="store_true", dest="ical", default=False, + help="print iCal file to stdout") + parser.add_option("-t", "--textcal", + action="store_true", dest="tcal", default=False, + help="print textual calendar to stdout") + (options, args) = parser.parse_args() + + loglevel = {'debug': logging.DEBUG, 'info': logging.INFO, + 'warn': logging.WARNING, 'error': logging.ERROR, + 'critical': logging.CRITICAL}.get(options.loglevel, logging.WARNING) + logging.basicConfig( level=loglevel ) + log = logging.getLogger() + + eventlist = [ + CANDIDATES_OPENED, + CANDIDATES_CLOSED, + CANDIDATES_ANNOUNCED, + VOTING_OPENED, + VOTING_CLOSED, + PRELIMINARY_RESULTS, + CHALLENGE_CLOSED, + ] + + if not any([options.ical, options.tcal]): + parser.error("You want to select either ical or textcal output. See --help for details") + if options.ical: + ical = create_ical( eventlist ) + print ical + if options.tcal: + tcal = create_textcal( eventlist ) + print tcal diff --git a/vote/2014-mc/rules.wml b/vote/2014-mc/rules.wml new file mode 100644 index 0000000..6bea714 --- /dev/null +++ b/vote/2014-mc/rules.wml @@ -0,0 +1,131 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html> + + <head> + <title>The Document Foundation 2014 Membership Committee Elections Rules</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + </head> + + <body> + + <h1>Rules & Timeline for The Document Foundation 2014 Membership Committee Elections</h1> + + <h2>Elections Rules</h2> + + <ol> + <li> + See the <a href="http://www.documentfoundation.org/statutes.pdf">The Document + Foundation Statutes</a> §12, II for general rules. + </li> + <li> + There are 5 committee seats and 2 deputy roles that are to be filled during these elections. + </li> + <li> + <a href="http://www.documentfoundation.org/foundation/members/">Members</a> of The Document Foundation as of 2014-07-01 + are eligible to vote in the elections. For future elections, anyone who has made a + contribution to The Document Foundation can apply for membership by completing the + <a href="http://www.documentfoundation.org/foundation/application-for-tdf-community-membership/">application</a>. + </li> + <li> + Any eligible voter is also eligible to be elected to the Membership Committee. + To announce your candidacy, send a message to + <a href="mailto:board-discuss@documentfoundation.org">board-discuss@documentfoundation.org</a> + with your full name, e-mail, corporate affiliation (if any), and a + description of your reasons for wanting to serve as a committee member. + Candidacies must be announced prior to 2014-08-27, 24:00 UTC+2. + </li> + <li> + All candidates should mail a summary of their candidacy announcement + (see previous rule) to + <a href="mailto:elections@documentfoundation.org">elections@documentfoundation.org</a>. + Summaries should be no more than 75 words of continuous text (i.e. no + bullet lists or multiple paragraphs) and must be received by the + nomination deadline given above. + </li> + <li> + All discussion related to the elections should be held on + <a href="mailto:board-discuss@documentfoundation.org">board-discuss@documentfoundation.org</a>. + Members are invited to ask questions to one or all candidates on that + list. + </li> + <li> + Instructions explaining how to vote will be sent via e-mail to + all eligible voters prior to the election, the voting itself + will open at 2014-09-04, 00:00 UTC+2, + and votes must be returned by 2014-09-11, 24:00 UTC+2. + </li> + <li> + Votes will be held confidential during the elections, but an + anonymized archive of all submitted votes will be made publicly + accessible at its conclusion. + </li> + <li> + The Document Foundation Board of Directors is + responsible for counting the votes. + </li> + <li> + There are five (5) committee, and two (2) additional deputy + seats to be filled during this election. Therefore a total of + seven (7) slots are available, and will be selected by a single + transferable vote system, seats filled in decreasing order of + preference. Should more than two of the top seven vote-getters + be affiliated with the same company, only the two with the most + votes will be considered elected. The term of office is two + years. + </li> + <li> + In the event of a tie for the final seat on the committee or the + final deputy slot, the Board of Directors will schedule + run-off elections as soon as possible. + </li> + <li> + The Board of Directors will announce preliminary results as soon as + possible after the elections close, along with instructions on how to + access the votes archive and how to independently verify the vote + count. + </li> + <li> + Any eligible voter may challenge the preliminary results by e-mailing + <a + href="mailto:elections@documentfoundation.org">elections@documentfoundation.org</a> + prior to 2014-09-17, 24:00 UTC+2. + Once any challenges have been resolved, the Board of Directors shall announce the final results. + </li> + <li> + Any questions regarding these procedures should be directed to the + Board of Directors by e-mail to <a + href="mailto:elections@documentfoundation.org">elections@documentfoundation.org</a>. + </li> + </ol> + + <h2>Timeline</h2> + <ul> + <li> + 2014-07-19: announcement of the elections (this e-mail); and start of the nomination phase + </li> + <li> + 2014-08-27, 24:00 CET/UTC+2: end of the nomination phase + </li> + <li> + 2014-09-04, 00:00 CET/UTC+2: official start of the elections + </li> + <li> + 2014-09-11, 24:00 CET/UTC+2: end of the elections + </li> + <li> + 2014-09-12: announcement of the preliminary results; and start of the challenging phase + </li> + <li> + 2014-09-17, 24:00 CET/UTC+2: end of the challenging phase + </li> + <li> + 2014-09-18: official announcement of the final results + </li> + <li> + 2014-09-19: new Membership Committee officially in charge + </li> + </ul> + + </body> +</html> diff --git a/vote/2014-mc/timeline.ics b/vote/2014-mc/timeline.ics new file mode 100644 index 0000000..281b18d --- /dev/null +++ b/vote/2014-mc/timeline.ics @@ -0,0 +1,71 @@ +BEGIN:VCALENDAR +VERSION:2.0 +CALSCALE:GREGORIAN +METHOD:PUBLISH +PRODID:-//PYVOBJECT//NONSGML Version 1//EN +BEGIN:VEVENT +UID:20140903t203120z-39...@thinkpad.bad.example +DTSTART;VALUE=DATE:20140719 +DTEND;VALUE=DATE:20140720 +DESCRIPTION:If you are a member of The Document Foundation and are interes + ted in running for election\, you may nominate yourself by sending an e-ma + il to electi...@documentfoundation.org with your name\, e-mail address\, c + orporate affiliation (if any)\, and a description of why you'd like to ser + ve\, before 2014-08-27 (23:59 UTC).\n You should also send a summary o + f your candidacy announcement (75 words or less) to discuss@documentfounda + tion.org.\n +SUMMARY:Announcements and list of candidates opens +END:VEVENT +BEGIN:VEVENT +UID:20140903t203120z-54...@thinkpad.bad.example +DTSTART;VALUE=DATE:20140827 +DTEND;VALUE=DATE:20140828 +DESCRIPTION:If you are a member of The Document Foundation and are interes + ted in running for election\, you may nominate yourself by sending an e-ma + il to electi...@documentfoundation.org with your name\, e-mail address\, c + orporate affiliation (if any)\, and a description of why you'd like to ser + ve\, before 2014-08-27 (23:59 UTC).\n You should also send a summary o + f your candidacy announcement (75 words or less) to discuss@documentfounda + tion.org.\n +SUMMARY:List of candidates closed +END:VEVENT +BEGIN:VEVENT +UID:20140903t203120z-30...@thinkpad.bad.example +DTSTART;VALUE=DATE:20140904 +DTEND;VALUE=DATE:20140905 +DESCRIPTION:You may now start to send your questions to the candidates +SUMMARY:List of candidates announced +END:VEVENT +BEGIN:VEVENT +UID:20140903t203120z-50...@thinkpad.bad.example +DTSTART;VALUE=DATE:20140904 +DTEND;VALUE=DATE:20140905 +DESCRIPTION:Please read your email and follow these instructions and submi + t your vote by 2014-09-11 +SUMMARY:Instructions to vote are sent +END:VEVENT +BEGIN:VEVENT +UID:20140903t203120z-84...@thinkpad.bad.example +DTSTART;VALUE=DATE:20140911 +DTEND;VALUE=DATE:20140912 +DESCRIPTION:Preliminary results are announced on 2014-09-12 +SUMMARY:Votes must be returned +END:VEVENT +BEGIN:VEVENT +UID:20140903t203120z-50...@thinkpad.bad.example +DTSTART;VALUE=DATE:20140912 +DTEND;VALUE=DATE:20140913 +DESCRIPTION:The preliminary results can be challenged until 2014-09-17 +SUMMARY:Preliminary results are announced +END:VEVENT +BEGIN:VEVENT +UID:20140903t203120z-36...@thinkpad.bad.example +DTSTART;VALUE=DATE:20140917 +DTEND;VALUE=DATE:20140918 +DESCRIPTION:If there weren't any challenges\, preliminary results are vali + d +SUMMARY:Challenges to the results closed +END:VEVENT +X-WR-TIMEZONE:UTC +END:VCALENDAR + diff --git a/vote/2014-mc/voting-instructions.txt b/vote/2014-mc/voting-instructions.txt new file mode 100644 index 0000000..e810d33 --- /dev/null +++ b/vote/2014-mc/voting-instructions.txt @@ -0,0 +1,39 @@ +i...@documentfoundation.org +t...@documentfoundation.org +Your Document Foundation 2014 Membership Committee Voting Token + +Dear $member, + +The election of The Document Foundation Membership Committee will soon +be open. + +Voting will run from 2014-09-04, 00:00 CEST/UTC+2 until 2014-09-11, +24:00 CEST/UTC+2. + +To vote, please go to +https://elections.documentfoundation.org/vote.php?election_id=6 +and follow the instructions there. + +A list of candidates and their reasons for running is available at +https://elections.documentfoundation.org/2014-mc/candidates.html + +When instructed to do so, enter the following details: + + E-mail: $email + Vote token: $token + +The election has 4 steps - first, you must identify yourself using the +voting token above. Then select your preferred candidates in order of +preference. A third step will show you your choice, and ask you to +confirm or return to the previous step. Finally, after confirming your +choice, a unique identifier will be given to you which will allow you to +verify after the election that your vote was counted correctly. To ensure +anonymity, no link will be kept between this token and your identifiers, +so please keep this token safe. Once you have voted, you will not be able +to vote again. + +Thank you for your vote! + +Regards, + Thorsten Behrens + On behalf of The Document Foundation Board of Directors diff --git a/vote/Makefile.am b/vote/Makefile.am index bc06dba..eb9d3f4 100644 --- a/vote/Makefile.am +++ b/vote/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = include 2011 2012-confpoll 2012-mc 2013-confpoll 2013-board +SUBDIRS = include 2011 2012-confpoll 2012-mc 2013-confpoll 2013-board 2014-mc urlpath = /vote
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits