Source: http://soliverez.com.ar/drupal/aggregator/categories/1
Timestamp: 2013-06-19 14:06:21
Document Index: 502102267

Matched Legal Cases: ['art 4', 'art 1', 'art 2', 'art 3', 'art 3', 'art 1', 'art 2']

Free Software | Escrúpulos
You are hereHome › Feed aggregator › Categories › Free Software
Judge Lucy Koh, the presiding judge in the Apple v. Samsung litigations, warned [PDF] the parties that she would ignore any arguments in their attachments to their post-trial motions that were new and therefore a backdoor way of bypassing the page limits she set for them, writing that "Any argument that is not explicitly articulated within the briefing page limits will be disregarded. Any supporting documentation shall be for corroboration purposes solely and shall not be used as a vehicle for circumventing the Court's page limits." And she meant it, it now turns out. She has given them a list of what she will not consider in her Order Striking Evidence [PDF], and it's both sides misbehaving. So now we know why these law firms have been annoying her so much. She gives them limits, and they simply ignore them.Also, Apple has brought a case to the court's attention, another super-plaintiff-friendly ruling from the Federal Circuit. And the parties continue to fight with the court over the issue of sealing materials. This judge isn't receptive, and while she earlier stayed her orders to unseal on the basis that she'd wait until the Federal Circuit could rule on appeals, now she denies a Samsung stay request. And I found for you some material on what impact reexamination of a patent can have on litigation. I saw a lot of questions from you in your comments, so I researched it a bit for you. Categories: Free Software Red Hat Bachelor & Diploma Theses about KDE projects
Thu, 01/03/2013 - 11:54
We see this as a good opportunity for students to learn about open source software, communities and collaboration and for us to find potential future employees (so there’s a great motivation too). We want students not to see their diploma or bachelor thesis as some boring obligation, but rather a “fun” way to learn new things, meet people and gain experience. And last but not least they are potential contributors to the projects they are involved in.
This year I managed to get several students I’m mentoring to pick a topic related to KDE. Although all projects are somehow related to KDE Telepathy, it’s a good start Today I want to introduce work of first two students, Stanislav Láznička and Artur Dębski.
Categories: Free Software KDAB contributions to Qt 5.0 (part 4)
Thu, 01/03/2013 - 11:01
Continuing the series on KDAB contributions to Qt 5.0 (part 1, part 2, part 3), this time we cover C++11, and various optimizations
There have been many people and companies working on C++11 support in Qt 5. KDAB was involved in several Qt 5 features which relate to C++11. An overview of the features in Qt 5 which relate to C++11 is available from a presentation last Autumn.
One of the porting issues in a Qt 4 to 5 transition is that the QSKIP macro now takes only one argument where previously it took two. This is a source incompatibility for users to deal with. As macros can not be overloaded the way that functions can, a different solution is needed. That’s where variadic macros become useful. If C++11 is enabled when compiling a file which uses QSKIP, the definition of that macro looks like this:
#define QSKIP(statement, ...) QSKIP_INTERNAL(statement)
The QSKIP_INTERNAL macro is the implementation of the regular QSKIP, so the C++11 version accepts any number of arguments, but silently drops all arguments except the first one.
Almost a year ago, I added a Q_DECL_OVERRIDE define corresponding to the C++11 override keyword. I also added a define for marking methods as ‘deleted’ and used it to ‘delete’ some methods which have previously only been private, and some constructors which should no longer be used in Qt 5. This makes for slightly better compiler error messages when attempting to use those methods.
With the Q_DECL_FINAL, corresponding to the C++11 final keyword, already defined in Qt 5, moc, some other internal tools and other features in Qt 5 needed to be adapted to handle it. The ‘final’ concept in Qt is somewhat complex, because aside from supporting the C++11 final keyword, the MSVC non-standard extension for ‘sealed’ classes is used in C++98 mode.
Similarly, the pre-existing Q_DECL_NOEXCEPT define gained a sibling in the Q_DECL_NOTHROW define. Although exceptions are not a central part of the Qt API and error handling model of Qt itself, it is also important to ensure that downstreams using exceptions more extensively can do so while taking advantage of C++11 features. This too enables an MSVC extension which is similar enough to the C++11 noexcept feature to be related to it. The Q_DECL_NOTHROW is defined as Q_DECL_NOEXCEPT where possible.
Something which has no C++98 equivalent is the constexpr keyword. This allows compile-time computation of certain constants. By marking the API of the Qt geometric classes as constexpr, many expressive possibilities, including calculation, open up to the programmer which were not possible before:
constexpr QPoint twelve_twelve(12, 12); switch(someInt) { case QPoint(15, 15).x(): break; case twelve_twelve.x(): break;// case QPoint(12, 12).x(): // ### Error: Duplicate of above.// break; case (twelve_twelve + QPoint(4, 4)).x(): break; // No magic number for the value being tested anymore: case QRect(twelve_twelve, QSize(40, 20).transposed()).bottomRight().x(): break; case QLine(QPoint(4, 5), QPoint(6, 7)).translated(twelve_twelve).x2(): break; }
We also added the constexpr marker to a few other locations in Qt 5, such as in QModelIndex, and some in QFlags. The full possibilities and patterns of this are still to be discovered.
Optimization in signal slot connections
With the rewrite of how signals ans slots work in Qt 5, there were suddenly mutliple implementations of what could happen when a connection is made. The natural way for C++ developers to create an abstraction for that is polymorphism and virtual methods. This works well usually, but when virtual functions are used in a class causes the compiler to have to create extra functions and data which it would not otherwise have to. In small doses, that is not a problem, but as the new connection syntax creates a lot of these objects, their unwanted price adds up. An optimization inspired by a boost feature in a similar problem domain was added by KDAB.
A follow-up patch re-enabled tail call optimization, to allow the compiler to make further optimizations in all cases.
qEnvironmentVariableIsSet and qEnvironmentVariableIsEmpty
Qt 5 sports a new way of testing for the existence of environment variables. These are a more modern (allowing the use of C++11 noexcept) and exception-safe version of the pre-existing methods for querying the environment.
QStringList::join(QChar)
Also in the domain of optimizations, a new overload of QStringList::join was added by KDAB in Qt 5. This avoids conversion of the QChar into a QString only to iterate over the QChars inside it again. Everyone gets the performance improvement for free when joining strings with a single character.
Removing use of QtAlgorithms
Several algorithms available in Qt are conceptual duplicates of what is provided in standard algorithms, such as qFind and std::find. The reasons for those algorithms to exist is partly because built-in platform support for them was not previously good enough. For Qt 5, the target platforms are modern enough that we can assume a working STL for our purposes. Unfortunately, due to some implemenation and behavioral differences, it was not possible to remove the QtAlgorithms, or to implement them in terms of the standard algorithms and gain the benefits that brings automatically.
Slowly though, we can port the implementation of Qt to use standard algorithms instead of the Qt ones. KDAB is participating in creating some patches towards this effort as it grows. Categories: Free Software Components Growing
Thu, 01/03/2013 - 08:50
The last in the row is Ubuntu Phone, others are Jolla’s Sailfish, RIM’s BB10 Cascades, KDE’s Plasma and Nokia’s Components for Harmattan and Symbian. Qt seem to unlock the future UIs for devices.
What is striking is the interaction patterns being established. Nokia Swipe, Sailfish as well as Ubuntu Phone seems to rely heavily on swiping from the sides of the screen. This is, in my experience, the key to a truly one-handed device.
Using Android, you are constantly forced to hold the device in awkward angles or use two hands to reach the home button, be it physical or on-screen. Swiping with the thumb is always possible when using one hand (as long as you have an opposable thumbs), while the two-handed user can swipe using the index finger without feeling hindered by the interface.
From a development perspective, it is interesting to see how the different QML Components are shaped. Ubuntu seems to have some interesting ideas for theming going on, and the other platforms have their own strong points.
One interesting comparison is to look at the API for a single component. Comparing the CheckBox elements of Ubuntu Phone, BB10, Harmattan, Symbian and Plasma gives the following API (only looking at the properties and signals that I regard as relevant to the comparison in question).
text (BB10, Symbian, Harmattan, Plasma)
checked (BB10, Symbian, Harmattan, Ubuntu Phone, Plasma)
enabled (BB10, Harmattan)
pressed (Symbian, Harmattan, Ubuntu Phone, Plasma)
hovered (Ubuntu Phone)
onCheckedChanged (BB10, Symbian, Harmattan, Ubuntu Phone, Plasma)
onClicked (Symbian, Harmattan, Ubuntu Phone, Plasma)
onPressAndHold (Ubuntu Phone)
Where does this leave us? For all platforms, one can use the checked property and its onCheckedChanged signal to act. The rest is in up in the air. Ubuntu Phone seems to split the text from the checkbox while the others keep them together. The enabled property is missing from most platforms. Here, even Symbian and Harmattan, both from Nokia, seems to differ.
Still, as the concepts seems similar, the work to create a cross-platform set of components wrapping the components of each platform should not be an impossible task (looking at checkboxes only, that is). Hopefully the end result will not be a too fragmented API landscape and the involved parties will work towards a common setup of basic properties and signals.
Either way, I’m happy seeing that 2012 was a bad year, 2013 looks very exciting. Seeing all these innovative phone user interfaces being created with QtQuick, I’m happy to work at a company innovating in the automotive space using the same technology.
Disclamer! These findings are based on the API docs only. Feel free to correct me by commenting. Categories: Free Software Eerie silence
Thu, 01/03/2013 - 07:09
The Samsung 840 SSD drives have dropped enough in price that I bought one (for this year’s combined sinterxmasbirthday). Then I pulled my older AMD machine out of the storage closet and installed OpenSUSE 12.2. Which in itself isn’t much of a story, except that installing from a silent USB stick, onto a silent SSD, with a energy efficient low-power CPU and a silent fan is an eerie, creepy experience. A machine that, within the limits of my hearing and against a background of one humming hard disk in a NAS box, is totally silent while doing work — that just doen’t fit with my ideas about how machines work. Kind of like electric bicycles and cars need some kind of noisemaker to announce their presence, otherwise they are scary as well.
And for noisy working machines, I can always stick to my Core i7 with three bricks full of spinning rust; that really sounds like it’s doing some work, especially when building KDE in a FreeBSD VM. Categories: Free Software 2012 Recap for me in KDE.
Wed, 01/02/2013 - 15:56
2012 is not the best year for me in the KDE team, I almost didin’t coded, heal life issues keep me busy in a way that I couldn’t avoid. I did a few things however:
I’v Been into the two more importants events for KDE in the latin americas, the LaKademy and FISL, LaKademy was the one place that I hacked, tought. It was done primarely to tight the community in the latinamericas – One thing that I like very much is that the people in KDE-BR is like a family, Sandro, Aracele, Filipe, Lamarque, Wagner, Me, Camila, Henrique. We didn’t know anyone, KDE introduced us all, now we all are friends and BFF’s. <3
I’v tried to do a internship for KDE with 6 students from one university that I have good relationship with, this experiment failed miserabily and I’ll try to do it again in the future but not in the same way that I did. The students did a few things, but at turtle paces, two quit in the first week, two did nothing for two months, while I was trying and trying to help them, they didn’t want help ( or work… ), that’s a real problem with “Free Software Groups” on universities that I’ll talk more in other post. But seriously, if you don’t want to work, don’t ask for a job. The code that they did will eventually end on KDE 4.11 ( since 4.10 passed by and they didn’t delivered. -.-’ )
This is my small resume for KDE in 2012, I hope 2013 is a better year Categories: Free Software My first Mozilla contributions
As of beginning of December I started contributing to the Mozilla community… I must say amazing people and amazing environment.
Categories: Free Software Zeitgeist 1.0 almost there (call for hackers)
Wed, 01/02/2013 - 14:01
So after 4 years of development Zeitgeist is reaching 1.0. The Zeitgeist team has reached a big goal/milestone What’s new?
Categories: Free Software KDE SC 4.9.5 packages for openSUSE
Wed, 01/02/2013 - 13:18
KR49 now holds KDE SC 4.9.5 packages. Thanks to the packagers involved! You can report issues on the opensuse-kde mailinglist or on IRC in the #opensuse-kde channel.
The latter is also where the next openSUSE KDE team meeting will take place, on Tuesday 8 January 18:30 UTC (19:30 CET).
Categories: Free Software 2012 for KDE: the financial perspective
Wed, 01/02/2013 - 10:17
2012, a great year for KDE2012 has been an important year for KDE from many perspectives. KDE e.V. turned 15 years old, Nokia finally quit Qt and a new ecosystem lead by Digia is laying on KDE to get mature. We have published our Manifesto, that is the result of long internal and very interesting conversations (I wouldn't call them discussions) about who we are, how did we get here and what we want. ALERT, out first experience in EU R&D projects, is now a reality. KDE has broken every record in the GSoC program, our KDE 4 series is getting mature and attention is coming back little by little to our software since users are understanding that we are delivering what we promised. Plasma is way more than a crazy idea and now many people perceive how powerful can be, not in a few years, but in a few months.Applications like Krita, Calligra, Dolphin, etc. are getting more and more popular and others, that lost track in the past, like Kontact, are recovering the favor of many users since improvements and better integration with Akonadi and Nepomuk (semantic desktop), are becoming obvious. We feel that more and more people recognize us as a key member of the Free Software ecosystem, not just for our software, but also for our commitment with freedom and our well desired reputation as serious and stable organization.Financial situation2012 has been the year in which Nokia showed us once again that corporations can become your best allies, but also that their commitment with freedom and specific technologies are strong only as far as they are compatible with their strategy, which can vary quiet fast. Once again, KDE has shown others that strong principles are a great base for not just surviving, but digesting changes.Our economic model, like many other FLOSS community projects, was based on the support of big corporations that invested in us as R&D environments (they were interested in our technologies), as cheap talent ecosystems (recruiting well formed young developers) and as branding feeders (investing in community projects has positive effects in company reputation).But that support to upstream project, specially to desktops, from big corporations, has been reduced the last few years for different reasons. We are not the next year big thing in the desktop/mobile space anymore and that have a reflection in our financial situation. Many of those who have supported us in the past, link success to market share. That has never been our battle but, we did very little to fight against that wave. It was profitable. So our past economic model, is drained and we need to adapt ourselves to a new field in which SMB (Small and Medium size Business) and individual support must become more relevant. Since previous Boards made a good job, we can face today those challenges with little risk, in financial terms, taking the required time to make the internal changes that, if we do them right, will define our future in this area the following five years. As simple as that.This model change will take some time. This 2012 we have taken relevant decisions and some more are coming in 2013. Results must become clear in 2014. This is a very tough sector and it is very risky to make plans, but I have faith in the path initiated in 2012. Many Free Software projects around us are growing like hell. We have to catch up a little, yes, but we have been here long enough to understand that running is not always the fastest way to get to the finish line... and frequently not the healthiest.2013 goalsOur major goal for 2013 is to get take more steps toward sustainability, in a very volatile environment.How do we want to achieve this from the financial perspective?There are two main work lines:Reducing our exposure to market changes.Becoming a more flexible organization.In this journey, we will need everybody's support. As a technical community, finances haven't been a priority for our members. This do not have to change in the future since KDE e.V. is here to support KDE community. Just a little more collective focus will be needed. More communication effort from our side, as Board/Organization, and from those involved in this area, will speed up the process. We are already working on it. I feel lucky of playing a key role in KDE these days. I am having fun and I am optimistic about our future in the financial area. If during 2013 we confirm the switch we began this year, we will have a good platform for growing healthy and strong the following years. How can you help us?If you are a KDE community member, please consider joining KDE e.V. If you are simply a KDE user or fan, you can get involved in our project as contributor or, if you do not have time to invest, please consider supporting us economically through our Join the Game program. KDE financial activity is summarized in our Quarterly Reports, you can download in .pdf format. Agustin Benito Bethencourt (Toscalix)
KDE eV and KDE Spain member
Spanish Blog: http://abenitobethencourt.blogspot.com
Linkedin profile: http://es.linkedin.com/in/toscalix Categories: Free Software KDAB contributions to Qt 5.0 (part 3)
Wed, 01/02/2013 - 09:34
Continuing the series on KDAB contributions to Qt 5.0 (part 1, part 2), this time we cover itemmmodels, effective C++ and janitorial work.
Itemmodels Improvements
As KDAB took on the role of Itemviews Maintainer in Qt 5, naturally we were the primary contributor and reviewer of all itemmodels and itemviews patches.
Several relevant changes have been made in Qt 5. To start with code location, some classes have been moved around to different Qt modules, making them more useful to non-widget applications. In Qt 4 times, the QAbstractProxyModel, QSortFilterProxyModel, QIdentityProxyModel, QStringListModel and QItemSelectionModel were in QtGui. Now they have been moved to QtCore. Similarly, the QStandardItemModel remains in the QtGui module in Qt 5, but most other itemviews related code, including the QDirModel and QFileSystemModel, was moved to the QtWidgets module. The QProxyModel class, obsolete since Qt 4.1 or so, was entirely removed, and a copy was placed in the UI Helpers repository for those who want to use it.
Some APIs were also marked as virtual in Qt 5. For example, QAbstractItemModel::supportedDragActions was made virtual, and setSupportedDragOptions was deprecated. The idea for this change came in 2009 when I first read the Advanced Qt book, which recommends overriding the supportedDragActions method, despite it not being virtual. The snippet happens to work because supportedDropActions (which is virtual) is actually overridden, and because of how the two concepts interact with each other. In Qt 5, the code has been changed to match the expectations of the book . The QAbstractItemModel::roleNames method has also been made virtual, for consistency with the rest of the QAbstractItemModel access API.
The QAbstractItemModel::sibling method was made virtual too, but for separate reasoning. The default implementation of sibling() is to get the parent QModelIndex, and then get a particular child of that parent. Calculating QModelIndexes, particularly for the parent() and particularly if there are proxy models involved, can be expensive. A concrete implementation of a model typically has a way to get a sibling index more efficiently, and now that it is virtual, that can be used. The sibling method is now also reimplemented in QSortFilterProxyModel and QIdentityProxyModel to take advantage of this.
Also on the subject of optimizations in itemmodels, the dataChanged and layoutChange signals have gained new parameters to be more expressive about how a model or its data changes when it does. Specifically, the dataChanged signal now has an optional QVector<int> to specify which roles have actually changed. This means for example that QML can be more efficient and effective in what bindings it updates when a model changes data.
The layout change signals were also extended with optional hints to allow the developer to be more specific about what, exactly, is changing. It is now possible to specify a list of parent QModelIndexes whose children are being relayouted. This is useful if you have a deep tree model, but only sort one section of it. It is also now possible in Qt 5 to specify what kind of change is happening. For example, the data may be sorted, or rows may be moved around to different locations in the tree. Together, these new APIs can allow for speed improvements of over 98% in cases of very wide table models and other large structures.
One of the confusing parts of the Qt 4 API was that the QModelIndex::internalId returned a qint64, but QAbstractItemModel::createIndex overloads only accept a quint32 (Note difference in size and in signedness). One of the reasons that is hard to solve is that making the internalId has always been stored as a void*. trying to store a quin64 in that would result in loss of data on a 32 bit system. Changing the data storage to quint64 would be inefficient on 32 bit systems. To solve that, all of the API has been normalized to use quintptr, meaning that it is a int type the same size as the size of a void pointer. This also had the effect of making the QModelIndex API more compatible with the C++11 constexpr keyword.
QModelIndex is now also a built-in metatype in Qt 5, so using Q_DECLARE_METATYPE(QModelIndex), or qRegisterMetaType<QModelIndex>() is never needed anymore.
The default value of whether a QSortFilterProxyModel sorts dynamically (dynamicSortFilter) has been changed from false to true. In Qt 4 times, this is a constant source of bugs when people (myself included) forget to set it to true, even though that is what most people want.
We have made many other bug fixes, performance enhancements and other changes to the itemmodels APIs. The number of unevaluated itemviews bugs is ever decreasing, and new bugs are quickly evaluated.
Qt 5.0.0 has been an opportunity to make changes which were not possible in Qt 4 releases, mostly due to binary compatibility concerns. These changes included marking methods as const where they can and should be, and marking constructors as explicit where possible. In terms of C++98, the explicit keyword is usually only needed for types which can be created with only one argument. For example, imagine there was no explicit keyword used in the QObject constructor, and consider this code:
QObject someObject = new QObject;
Do you see the bug? A QObject pointer is assigned to a local non-pointer QObject. If there is no explicit keyword used, then a compiler will ‘helpfully’ try to perform an implicit conversino and call a constructor which takes only one argument if the types match. So the above would be treated the same way as:
QObject *parent = new QObject; QObject someObject(parent);
This is usually not what the programmer intended. Use of the explicit keyword helps the compiler find bugs like that, so we’ve added it where it was missing before.
The situation is a little bit more complex with C++11, because now brace-initialization can be used to cause implicit conversion for more than one constructor argument. This could have unintended consequences, but is probably less likely today. Nevertheless, some instances of it have been marked as explicit too.
For exception safety and speed, many copy operations in Qt were changed to use the copy-swap idiom. This also required adding member-swap to more of the classes in Qt 5.
So many things changed in Qt 5 compared to Qt 4, that there was a lot of clean-up to do. This is the kind of work that is not very exciting, but still has to be done in order to maintain a clean codebase. For example, KDAB wrote patches removing some symbian support code (no longer supported in Qt 5), QWS code (made obsolete by QPA plugins), and other long-obsolete or deprecated methods and classes.
We also worked on documentation clean-ups requires as part of modularisation, and as part of keeping the documentation up to date with the code, compile fixes when certain features are removed (eg QT_NO_CLIPBOARD) and replacing some use of Q_WS_* defines (Q_WS_WIN, Q_WS_X11 etc).
The Q_WS_* defines are obsolete and those macros are never defined. In some cases the code within them needs to be changed to operating-system specific (using a Q_OS_* define), and in some cases, it needs to be changed to a runtime check, if it really does relate to the window system only. This work is not complete. There is still a lot of code in Qt 5 which is wrapped in Q_WS_ defines, and is therefore effectively commented out. Categories: Free Software New year
Wed, 01/02/2013 - 07:09
Ah, new years. A time of (sometimes planned) changes. Inge, I hope your hand gets better, or whatever it is. Me, I’ve resolved to quit being such a wuss with respect to git and actually use it a bit, and so after a long absence put something into the KDE source repositories again. I’ve contacted some maintainers for a little guidance. David’s post from two months back is going to help, too, since SVN fits in my brain (as do some distributed VCSses, but not git so far — not without violence). Categories: Free Software Motorola and Microsoft Debate the Scope of Google's MPEG-LA License (Seattle) ~pj
Wed, 01/02/2013 - 06:45
The last time we looked in on the Microsoft v. Motorola litigation in Seattle, the judge, the Honorable James L. Robart, had just ruled that Motorola would have no right to injunctive relief in the US and Germany for its H.264 and 802.11 standard essential patent portfolios, at least not in the current set of facts, although he allowed that facts could change in the future. The judge has asked [PDF] the parties to give him more information about Google's license agreement with the MPEG-LA patent pool, and he set a hearing for oral argument for January 28 at 1:30 PM in Seattle on that issue and on a Microsoft motion for summary judgment on invalidity. If any of you can attend, that'd be wonderful. We now can have a much clearer picture of the parties' positions, now that we have both parties' post-trial briefs on the subject of Google's license agreement with MPEG-LA regarding H.264/AVC patent pool. The crux of the debate is how to interpret one clause in the agreement, Section 8.3. Does it require Google to grant Microsoft a license to Motorola's H.264-essential patents? Microsoft says it does, and Google says it does not. Google says it chose a license whereby it would have to list all affiliates it wished to be covered by the agreement, and to date it has not listed Motorola. It didn't close on the Motorola deal until after it entered the license agreement with MPEG-LA anyway. And Motorola never on its own put any of its relevant patents into the MPEG-LA patent pool. So either way, Microsoft has no rights to a license via the MPEG-LA patent pool, Google argues, only by negotiated agreement under normal RAND terms, obviously at a higher rate. Categories: Free Software GSoC work merged! Finally!
Tue, 01/01/2013 - 19:30
While I am certainly delighted that my work is finally merged I am watchful of any bugs that might have crept in.
But I can now continue contributing knowing all that work did not go to waste!
This took a really long time, but the community kept me going (specially Akarsh & Rafal). Thank You!
Happy New Year KDE! :) Categories: Free Software Happy New Multilingual Year!
Tue, 01/01/2013 - 15:22
And don’t forget - Categories: Free Software Google Summer of Code in Winter
Mon, 12/31/2012 - 15:22
After years of hard work by Simon team, Simon 0.4.0 is out which is the major release after a long time.
Finally, Nothing is too hard to accomplish if you love what you do. Categories: Free Software New Year Causes Different Things...
Mon, 12/31/2012 - 14:37
Categories: Free Software More Vacation Fun: smoother lines in Krita
Mon, 12/31/2012 - 12:48
Categories: Free Software new years blog post
Mon, 12/31/2012 - 06:50
In a few hours 2012 ends and 2013 begins. So it is a good opportunity to recap and look back what happend in the past 12 month in the ownCloud world. I must say that is was an awesome year where a lot of things happened that are worth mentioning. A huge thank you to everybody in the ownCloud community and my coworkers at ownCloud Inc. which made all this possible.The things that I specifically want to mention are:KDEThe first significant thing of 2012 for me was the departure of the ownCloud project from KDE. This was the result of an intense discussion in KDE about the role of ownCloud in KDE, the requirements to be a KDE project and my role. I stepped down as a KDE e.V. board member and treasurer as a result and ownCloud is now an independent free software project. I still find the outcome a bit sad and not optimal for both communities but on the other hand sometimes a fresh start is good and needed. ownCloud participated in this years Google Summer of Code and Google Code-in together with KDE so there is still a lot of collaboration happening where it makes sense. All the best to KDE and thank you to my friends there.The communityThe ownCloud community grow dramatically in the last year. It's a bit difficult to measure as we don't collect real community metrics yet. But just a brief look at the number of post to the mailing-list, the activity in our bug-tracker, the number of commits, the number of contributors and the number of downloads show a very significant increase. I'm super happy that we have such a healthy volunteer community. If you found a company around an free software community projects there is sometimes the effect that the company consumes the community by employing all the community people. Luckily the free software community is growing even faster than our company so this works perfectly.The ownCloud community has volunteers in all important areas like PHP development, Qt desktop development, iOS development, Android development, packaging, testing, security, design and UX, events and PR. Thanks to all of you who contributed.Developer meetingsIn 2012 we had 2 big developer meetings. The first one was hosted in our Stuttgart office in April with about 18 contributors. A lot of new people came and joined the community and it was the biggest meeting so far. We couldn't fit more people into the room as you can see at the pictures here: http://blog.karlitschek.de/2012/04/what-weekend.html so we had to look for a new location for the next meeting. Luckily for the fall meeting KDAB hosted us in Berlin and the University of Michigan in Ann Arbor hosted a second meeting at the same time in the US. Over 30 developer attended and it was a blast. Thanks to our hosts and everybody who joined. Let's see what we do next year if we grow even bigger.ReleasesWe had several great releases in 2012.First of all we released ownCloud 3 in January, ownCloud 4 in May and ownCloud 4.5 in October. But additionally we also released our iOS and Android clients which are constantly improved and we also released the ownCloud Desktop clients for Mac, Windows and Linux.I don't want to list all the features here but I can say that I'm super impressed by the new features the ownCloud community developed in just 12 month. I also have to confess that not every feature is as stable and bug-free as I wished. Because of that we have to concentrate more on stability and quality in the future. More about this later.I'm especially happy about the integration with KDE and GNOME which are both already quite advanced and it's awesome that ownCloud is now packaged for all major Linux distributions and available as virtual appliances.Development processOne year ago we had a relatively unstructured development process on gitorious.org. We wanted to focus more on quality so we introduced several processes over the last few month. We have a Jenkins server for continuous integration testing. People are working on unit tests, acceptance testing, integration testing and other things. We moved from gitorious.org to github which gave us a lot of new features for better collaborative coding and it is very successful so far. We moved from our own hosted TheBugGenie bug-tracker to the github one which is really nice because of the integration of coding, bug fixing and feature request tracking.At our last developer meeting in Berlin we decided to introduce peer reviews for all commits that go into the ownCloud core repository and we use pull requests for that. It makes development sometimes a bit slower but you can already see the impact on quality. We are getting way better here. Of course we have to make sure that contributing to ownCloud is not more complicated as needed but I think we found a good middle ground here.CompanyI'm involved in free software for over 15 years and I think that a truly open and community driven development process, like for example in KDE, is the most effective technique to create great software and innovation. But it's also clear that communities don't work very effective in areas like QA or structured product planing where companies are better. So I always wanted to try to combine the best of both worlds. See also my blog post here for more thoughts or my chapter about open source business models in the Open-Advise book. ownCloud Inc. became fully functional at the beginning of 2012 and I must say that it works great together with the community. The community and the company are able to push ownCloud forward together in a very effective way. ownCloud Inc. employs now 35 people and closed it's second financing round this fall. We at ownCloud Inc. have already several well known customers that use ownCloud. Unfortunately we are not allowed yet to name them publicly but this will hopefully change very very soon. So this is very exiting.Talks and boothI'm happy that I had the opportunity to gave several talks in 2012. I presented ownCloud at LinuxCon in San Diego, at the Campus Party in Berlin, the Heidelberger Innovationsforum, the Tizen Conference in San Francisco, SIGINT in Cologne and LinuxTag in Berlin where we also had a community and a company booth. In october I had the opportunity to give a keynote at Latinoware in Brazil where I presented the User Data Manifesto.The User Data ManifestoThis is a very important topic because it describes why ownCloud is so important to me. Running free software on your PC is not enough anymore to give you control over your data and garantee freedom and free speach. A free cloud service software like ownCloud is needed. I don't have to repeat the thinking behind that because I described it already well in this blog post This is the reason why I started ownCloud in the first place and what keeps me, and I think most of the community, motivated.2013?So I think 2012 was a great year but what are the challenges and plans for 2013? One of the biggest challenges is to keep on moving forward with the same speed. This is more difficult as you might think because a growing community and a growing user-base can slow you down if you do it wrong. Another important thing for next year is that we have to focus more on stability and quality. But we also have to develop innovative new features so that we can lead the market instead of just copying the features of proprietary competitors as other free software projects do. The IT, PC and cloud market is moving fast forward and standing still means loosing.I think ownCloud is a very welcoming community so if you want to participate then join our mailinglist, IRC channel or help to improve ownCloud or write a 3rd party app for it.Thanks to everybody who contributed. Let's make a difference together. Categories: Free Software Simon 0.4.0
After years of hard work, the Simon team is proud to announce the new major release: Simon 0.4.0.New in Simon 0.4This new version of the open source speech recognition system Simon features a whole new recognition layer, context-awareness for improved accuracy and performance, a dialog system able to hold whole conversations with the user and more.Revisiting UsabilityA lot of work has gone into making Simon easier to use - both for existing and new users.Perhaps most visibly, the main window of Simon has been reorganized to bring the most important options together in one screen.Simon 0.4.0: Main windowMoreover, the newly introduced Simon base model format (.sbm) and the integration of a GHNS online repository of base models have removed the last big hurdle of the initial configuration.One can now easily go from a fresh installation to a working setup in less than 5 minutes without any preparation. Don't believe me? Check out the quick start below!Simon 0.4.0: Quick StartMany other, smaller changes sum up to one simple but important difference: Simon will overall require less user interaction while achieving more.SPHINXOne of the major internal changes of Simon 0.4 is of course the included support for the BSD licensed CMU SPHINX. While we still also maintain full support for HTK and Julius, new models compiled with Simon will default to the SPHINX backend and the (proprietary) HTK is no longer required to build user-generated models.Best of all: Simon will select the correct backend for your configuration transparently and automatically.VoxforgeA major problem of open source speech recognition has always been the lack of freely available high quality speech models.The Voxforge project has been working for years towards GPL acoustic models for a variety of languages. While their models are certainly not yet perfect, they offer a promising starting point.The English Voxforge model is of course available as a Simon base model and can be downloaded and imported with Simon.Additionally, starting with Simon 0.4, users will also have the option to contribute their gathered Simon training samples directly to the Voxforge server.These recordings will then be used to train and improve the general acoustic models. Simon 0.4.0: TrainingBy the way: Behind the scenes this upload is based on SSC.ContextThere is a simple rule of thumb in speech recognition: The smaller the application domain, the better the recognition accuracy. This was always one of the core principles of Simon.In Simon 0.4, however, we went one step further: Simon can now re-configure itself on-the-fly as the current situation changes. Through so called "context conditions" Simon 0.4 can automatically activate and deactivate selected scenarios, microphones and even parts of your training corpus.For example: Why listen for "Close tab" when your browser isn't even open? Or why listen for anything at all when you're actually in the next room listening to music? Yes, Simon is watching you. Simon 0.4.0: Context awarenessDialog SystemSimon 0.4.0 also ships with the new dialog system featuring scripted variables (Javascript), integration with Plasma data engines, a templating system and - of course - text-to-speech output.SimonoidFor users of KDE's plasma workspace, we now provide the "Simonoid" plasmoid to start and monitor Simon - including the current recording volume.SimonoidThe screenshot above shows two instances of the plasmoid: One added to the panel and another one to the desktop.... and everything elsePlease don't be foold to think that the above is a complete list of all improvements. For example, we also have a new sample review tool called Afaras, integration with the Sequitur grapheme to phoneme framework, an Akonadi command plugin and many, many other noteworthy changes.You'll have to try out Simon to see for yourself!DownloadTo install Simon 0.4.0, you can either compile the official source tarball, install a binary package provider by our Linux distribution or use the installer for Windows.Microsoft Windows: Installer Source Code If you are a packager and would like to package Simon 0.4, please do get in touch with us. Thank you. Categories: Free Software Pages1
Feed aggregatorCategoriesEnciclopedia Tecnológica de Argentina